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

Как и символы *, >, :, имеющие специальный смысл в shell, некоторые символы имеют специальный смысл для ed, если они появляются в образце для поиска или в левой части команды s. Эти символы называют метасимволами, а использующие их образцы регулярными выражениями. В табл. П.1.1 перечислены все символы и их значения. Примеры, приведенные ниже, следует читать в соответствии с таблицей. Специальный смысл любого символа может быть отменен предшествующей ему обратной дробной чертой '\'.

сЛюбой специальный символ задает совпадение с таким же символом
\cОтменяет специальный смысл символа с
АСоответствует началу строки, когда ^ начинает образец
$Соответствует концу строки, когда $ заканчивает образец
.Совпадает с любым одиночным символом
[...]Соответствует одному любому символу в ...; допустимы диапазоны типа a-z
[^...]Соответствует любому одиночному символу, не входящему в ...; допустимы диапазоны
r*Соответствует нулевому или более числу вхождений r, где r символ, или [...]
&Используется только в правой части s; вставляет фрагмент, совпавший с образом
\(...\)Помечает регулярное выражение; найденная строка доступна как \1, и т.д. в левой и правой частях выражения

Таблица П.1.1: Регулярные выражения редактора

Символу перевода строки не соответствует ни одно регулярное выражение.

ОбразецСоответствие
/^$/пустая строка, т.е. только конец строки
/./непустая, т.е. по крайней мере один символ
/^/все строки
/thing/thing где либо в строке
/^thing/thing в начале строки
/thing$/thing в конце строки
/^thing$/строка, состоящая лишь из thing
/thing.$/thing плюс любой символ в конце строки
/thing\.$/thing. в конце строки
/\/thing\///thing/ где либо в строке
/[tT]hing/thing или Thing где либо в строке
/thing[0-9]/thing, за которой одна цифра
/thing[^0-9]/thing, за которой не цифра
/thing[0-9][^0-9]/thing, за которой цифра и не цифра
/thing1.*thing2/thing1, затем любая строка, затем thing2
/^thing1.*thing2$/thing1 в начале и thing2 в конце

Регулярные выражения, использующие *, выбирают самое левое совпадение с образцом до тех пор, пока это возможно. Отметим, что x* может соответствовать нулю, а xx* одному или более символу.

Глобальные команды

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

m,ng/re/cmdДля всех строк между m и n, которые соответствуют re выполнить cmd
m,nv/re/cmdДля всех строк между m и n, которые не соответствуют re выполнить cmd

Командам g и v могут предшествовать номера строк, ограничивающие диапазон; по умолчанию принимается диапазон 1,$:

Перейти на страницу:

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

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

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

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

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