Памятка по командам SED [редактировать]: a \text - Добавить "text" после указанной строки (вывести), потом считать следующую. b label - Перейти на метку, устанавливаемую, с помощью функции ":" , если label пуст, то перейти в конец скрипта. c \text - Удалить pattern space и вывести "text" на output . d - Удалить pattern space . D - Удалить pattern space до вставленной newline . g - Заместить содержимое pattern space содержимым буфера hold space . G - Добавить к содержимому pattern space содержимое буфера hold space . h - Заместить содержимое буфера hold space на содержимое pattern space . H - Добавить к содержимому буфера hold space содержимое pattern space . i \text - Вывести текст на output перед указанной строкой. n - Вывести pattern space на output и считать следующую строку. N - Добавить следующую строку к pattern space , разделяя строки вставленным newline . p - Скопировать pattern space на output . P - Скопировать pattern space до первой вставленной newline на output . q - Переход на конец input . Вывести указанную строку, (если нет флага -n ) и завершить работу SED r rfile - Читать содержимое rfile и вывести его на output прежде чтения следующей строки. t label - Перейти на метку, устанавливаемую с помощью функции ":" , если для этой строки была осуществлена замена с помощью функции "s" . Флаг осуществления замены восстанавливается при чтении следующей строки или при выполнении функции "s" . w wfile - Добавить pattern space к концу файла wfile . (Максимально можно использовать до 10 открытых файлов.) x - Поменять местами содержимое pattern space и буфера hold space . ! func - Применять функцию func (или группу функций в {} ) к стокам НЕ попадающим в указанные адреса. : label - Устанавливает метку для перехода по "b" и "t" командам. = - Выводит номер строки на output как строку. { - Выполняет функции до "}" , только когда выбрано pattern space . Группировка функций. # - Комментарий. "#n" в скрипте равносильно установке флага -n Примеры: Выдираем ссылки из документа cat index.html | sed -n 'H;${x;s/\n//g;s/ [hH][rR][eE][fF]=/\n/g;p}' | # делаем ссылки в начале строки sed 's/[ >].*//;s/"//g'# обрубаем концы и легкая косметика Аналог dos2unix $ sed -i 's/\r//' file Убрать переводы строк в тексте $ sed -ni 'H;${x;s/\n//g;p}' file