Читаем UNIX полностью

СокращениеЭквивалентСокращениеЭквивалент
-1.-1+.+1
-- или -2.-2++ или +2.+2
-n.-n+n.+n
$-$-1.3.+3
Добавление, замена, исключение, вставка

Команда а (добавить) добавляет строки после определенной строки, команда d (удалить) вычеркивает строки, команда i (вставить) вставляет строки перед определенной строкой, команда с (заменить) заменяет строки, действуя как комбинация команд "удалить" и "вставить".

naДобавить текст после строки n
niВставить текст перед строкой n
m,ndУдалить строки с m по n
m,ncЗаменить строки с m по n

Если номера строк не указаны, используется текущая строка. Новый текст для команд а, с и i оканчивается строкой '.'; точка, введенная в последней строке, оставляется. Текущая строка настраивается на следующую строку после последней удаленной, за исключением случая, когда удалена последняя строка, т.е. $.

Добавить текст в начало (то же, что 1i)
dpУдалить текущую строку, печатать следующую (или последнюю, если $)
.,$dpУдалить отсюда до конца, печатать новую последнюю
1,$dУдалить все
?pat?,.-1dУдалить от предыдущей, совпадающей с 'pat' до той, что перед текущей
$dpУдалить последнюю строку, печатать новую последнюю
$cЗаменить последнюю строку ($а добавляет после последней строки)
1,$cЗаменить все строки
Подстановка, аннулирование

Нет необходимости перепечатывать целую строку, если в ней нужно заменить лишь несколько символов. Команда подстановки s заменяет одну последовательность символов другой:

s/old/new/Заменить первую old на new в текущей строке
s/old/new/pЗаменить первую old на new и печатать строку
s/old/new/gЗаменить каждую old на new в текущей строке
s/old/new/gpЗаменить каждую old на new и печатать строку

Заменяется только самое левое вхождение образца в строке, если не написана буква 'g'. Команда s выводит измененную строку только в том случае, когда она оканчивается буквой 'p'. Фактически большинство команд ed выполняет свою работу "молча", но почти любая команда может быть завершена буквой p для вывода результата.

Если подстановкой вы не добились того, что хотели, с помощью команды u (аннулировать) можно уничтожить последнюю подстановку. Текущая строка должна быть настроена на преобразованную строку:

uАннулировать последнюю сделанную подстановку
upАннулировать последнюю подстановку и напечатать

Как вам уже известно, командам p и d могут предшествовать один или два номера, указывающие строки, на которые нужно воздействовать. Этот же принцип используется и для команды s.

/old/s/old/new/Найти следующую old; заменить на new
/old/s//newНайти следующую old; заменить на new (образец запоминается)
1 ,$s/old/new/pЗаменить первую old на new в каждой строке; печатать последнюю измененную строку
1,$s/old/new/gpЗаменить каждую old на new в каждой строке; печатать последнюю измененную строку

Отметим, что 1,$s вызывает команду для обработки каждой строки, но это означает лишь самое левое вхождение образца в каждой строке; нужна заключительная команда 'g', чтобы заместить все вхождения во всех строках. Кроме того, p выдает только последнюю измененную строку. Для вывода всех измененных строк необходима глобальная команда, которую мы вскоре рассмотрим.

Символ & означает сокращение; оказавшись где либо справа от команды s, он заменяется образцом из левой части:

s/big/very &/Заменить big на very big
s/big/& &/Заменить big на big big
s/.*/(&)/Взять в скобки целую строку (см. .* ниже)
s/and/\&/Заменить and на & (\ отключает специальное значение символа)
Метасимволы и регулярные выражения
Перейти на страницу:

Похожие книги

Полное руководство по Microsoft Windows XP
Полное руководство по Microsoft Windows XP

В книге известного американского автора описывается среда ОС Windows XP и принципы ее функционирования, приведен сравнительный анализ Windows XP с предшествующими версиями операционной системы Windows. Рассматриваются вопросы применения и модификации нового интерфейса с целью получения прямого доступа ко всем функциям Windows XP обсуждаются варианты подключения к компьютерным сетям. Несколько разделов посвящены работе с реестром и конфигурационными файлами, мультимедийным функциям и разнообразным системным службам, а также методам решения проблем с программным обеспечением и оборудованием. Особое внимание уделено обеспечению безопасности операционной системы.Издание адресовано пользователям и сетевым администраторам, желающим активно применять возможности операционной системы Windows XP (в том числе и недокументированные).

Джон Поль Мюллер , Питер Нортон

ОС и Сети, интернет / ОС и Сети / Книги по IT