12.04 и Evolution 3.2.3 Проблема отправки электронной почты в HTML

Чтобы напечатать определенную строку, вы можете использовать sed:

route -n | sed -n 2p

для печати второй строки.

sed, что есть

Я дам короткое и неполное объяснение того, что sed. Для полного описания я предлагаю просмотреть sed информационные страницы (run info sed).

sed означает редактор потока, то есть редактор, который может воздействовать на поток (или канал) текстовых данных , хотя он может действовать и на файлы; по существу это означает, что (в отличие от ed) он никогда не сможет вернуться к предыдущей строке.

sed, поскольку awk читает по одной строке за раз и применяет сценарий к этой строке, чтобы возможно, изменить его. В конце скрипта по умолчанию модифицированная строка выводится на stdout. Затем sed переходите к следующей строке.

Сценарий представляет собой последовательность парных адресных команд, если строка соответствует адресу, тогда выполняется команда.

Типичная использование sed заключается в выполнении подстановки шаблона чем-то, например

command | sed 's/ *$//'

здесь строка между одинарными кавычками - это скрипт, состоящий из одной пары адрес-команда. Адрес отсутствует (он появится перед s), в таком случае команда применяется по умолчанию ко всем входным строкам. s - это команда, а остальная часть строки - это команды, специфичные для команды: «замените 0 или больше вхождения (*) символа пробела () в конце строки ($) без ничего ( т.е. удалить их).

Другая полезная команда - p и d. Команда p печатает текущую строку, это полезно в сочетании с опцией -n, которые изменяют поведение по умолчанию для печати текущей строки в конце скрипта. Таким образом, в

sed -n '2p'

сценарий представляет собой строку 2p, состоящую из адреса 2 и команды p, поэтому строка 2 будет напечатана, а другая строка не будет напечатана , из-за опции -n.

Команда d удаляет строку, например

    sed '3,6d'

удаляет все строки с третьего по шестое. 3,6 - диапазон адресов. Я заметил, что в этом случае нельзя использовать параметр -n, потому что мы хотим напечатать все остальные строки.

Последняя вещь, адрес может быть шаблоном, как в

sed -n '/^#/p'

эта команда будет печатать все строки, начинающиеся (^) с символом #.

1
задан 17 April 2012 в 00:53

0 ответов

Другие вопросы по тегам:

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