Читаем 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 на & (\ отключает специальное значение символа)
Метасимволы и регулярные выражения
Перейти на страницу:

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

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Wi-Fi: Все, что Вы хотели знать, но боялись спросить
Wi-Fi: Все, что Вы хотели знать, но боялись спросить

Жизнь современного человека — это движение. Мобильность для нас становится одним из самых важных моментов для работы, для общения, для жизни. Многие из нас сейчас уже не представляют жизнь без сотовых телефонов, которые из средства роскоши превратились в предмет, без которого жизнь современного человека стала просто немыслима. Многие уже оценили все преимущества Bluetooth, GPRS. Эти устройства превратили наши телефоны из средств связи в незаменимых помощников в работе. К сожалению, один из самых главных недостатков этих беспроводных технологий — малый радиус действия и низкая скорость передачи данных, что сейчас становится очень важным фактором для всех нас. Поэтому к нам на помощь приходит активно развивающийся во всем мире и в России стандарт Wi-Fi. Особенно радует, что в крупных городах России, особенно в Москве и Санкт-Петербурге, начинается массовое внедрение беспроводных сетей Wi-Fi в публичных местах (так называемых Hot Spot) — отелях, аэропортах, ресторанах, торговых центрах и кафе.Что же такое Wi-Fi? Очередной мыльный пузырь IT-индустрии, который изо всех сил надувают производители и поставщики телекоммуникационного оборудования или новая технология, призванная в очередной раз изменить наш привычный мир, как это случилось когда-то с появлением Интернет и сотовой связи?

А К Щербаков , А. К. Щербаков

Компьютерное 'железо' (аппаратное обеспечение), цифровая обработка сигналов / Интернет / Компьютерное «железо» / Книги по IT