Как искать и заменять строку с новой строкой в ​​командной строке в файле

У меня также было сообщение « Невозможно получить список драйверов принтера: Успех » изначально в веб-интерфейсе (после некоторой заметной активности диска), но работало lpinfo -m в командной строке впоследствии привел к длинному списку драйверов - как и должно быть. Судя по уже данным здесь ответам, это озадачило.

Но затем я просто обновил страницу (которая включала повторную отправку данных), и список драйверов был успешно отображен в WebUI, что позволило мне продолжить и завершить добавление принтера. Так что, возможно, стоит повторить попытку через некоторое время, возможно, после проверки вывода lpinfo -m на всякий случай.

1
12.07.2016, 15:30
1 ответ

Новая версия GNU sed поддерживает параметр -z.

Normally, sed reads a line by reading a string of characters up to the end-of-line character (new line or carriage return).
The GNU version of sed added a feature in version 4.2.2 to use the "NULL" character instead. This can be useful if you have files that use the NULL as a record separator. Some GNU utilities can genertae output that uses a NULL instead a new line, such as "find. -print0" or "grep -lZ".

Вы можете использовать эту опцию, если хотите, чтобы sed работал с разными строками.

sed -z 's/)[.]\nPORT/). \n0 closed ports\nPORT/g' inputfile

Обратите внимание, что в вашем примере ввода есть пробел после(0.00090s latency).

0
27.01.2020, 23:35

Теги

Похожие вопросы