Можно также использовать sed
без lookaround утверждения для большей мобильности (-o
может не быть доступно для Вашего grep
):
sed "s!['\(\[^,\]*\),.*\$!\1!;t;d;p" data.txt
Отметьте "странное" использование Escape обратной косой черты здесь. Это вследствие того, что sed
BREs использования по умолчанию (см. этот вопрос).
Разговор о мобильности, почему не только используют Perl?
perl -nle "print \$1 if /\['([^,]*)/" data.txt
У меня была аналогичная проблема, и я счел полезным отключить параметр fitplot принтера cups следующим образом (это инструкции для Linux Mint 17, но должны работать и для аналогичных дистрибутивов.)
Откройте терминал и отредактируйте файл printer.conf.
sudo vi /etc/cups/printer.conf
найдите строку, содержащую Option fitplot True
, и измените эту строку, чтобы теперь она содержала Option fitplot False
, теперь сохраните файл, который у вас есть только что отредактировал.
Теперь перезапустите cupsd с помощью команды
sudo service cups restart
У меня была та же проблема: документ PDF казался увеличенным и не помещался на странице A4, предоставленной моим принтером HP Deskjet 3050.
Решение:
Добавьте (или измените) параметр fitplot на True:
#/etc/cups/printers.conf
<Printer Deskjet_3050>
...
Option fitplot True
...
</Printer>
Согласно руководству значение True масштабировало документ по размеру страницы. По умолчанию размер документа используется для масштабирования. Но инструкция предупреждает, что «Если в файле не указан размер, страница может масштабироваться неправильно!». Так что это может быть причиной нашего изначально неправильного масштабирования - отсутствие размеров в документе.