Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

^Соответствует началу строки
$Соответствует концу строки
[]Соответствует любому символу из числа заключенных в скобки; чтобы задать диапазон символов, укажите первый символ диапазона, дефис и последний символ (например, вместо шаблона [12345] можно ввести
[1-5])
[^]Соответствует любому символу, кроме тех, что указаны в скобках
\Отменяет специальное значение следующего за ним метасимвола
.Соответствует любому отдельному символу
*Указывает на то, что предыдущий шаблон встречается ноль или более раз; в программах awk и egrep, где испольуются расширенные регулярные выражения, существует два дополнительных оператора:
? (означает, что предыдущий шаблон встречается не более одного раза) и
+ (означает, что предыдущий шаблон встречается один или более раз)
\{n\}Указывает на то, что предыдущий шаблон встречается ровно n раз
\{n,\}Указывает на то, что предыдущий шаблон встречается не менее п раз
\{,m\}Указывает на то, что предыдущий шаблон встречается не более т раз
\{n, m\}Указывает на то, что предыдущий шаблон встречается не менее n раз и не более т раз
<p><strong>7.1. Поиск одиночных символов с помощью метасимвола '.'</strong></p>

Метасимвол '.' соответствует любому одиночному символу. Если, например, требуется найти слово, начинающееся с подстроки "beg", после которой стоит произвольный символ, а за ним -cимвол 'n', задайте шаблон beg.n. Будут найдены такие слова, как "begin", "began" и т. д.

Данный метасимвол удобно применять при фильтрации результатов работы команды ls -l для поиска файлов, имеющих требуемые права доступа. Следующий шаблон соответствует файлам, выполнять которые могут все пользователи:

…x..x..x

Вот примеры отбора строк режима по этому шаблону:

drwxrwxrw- — не соответствует

-rw‑rw‑rw- — не соответствует

-rwxrwxr‑x -cоответствует

-rwxr‑xr‑x -cоответствует

Предположим, выполняется фильтрация текстового файла. Необходимо найти в нем строки, состоящие из десяти символов, из которых пятый и шестой — "ХС". Данная задача решается с помощью такого шаблона:

….ХС….

Он означает, что первые четыре символа могут быть произвольными, следующие два — "ХС", а последние четыре — тоже произвольные. Вот несколько примеров сравнения:

1234ХС9088 -cоответствует

4523ХХ9001 — не соответствует

0011ХА9912 — не соответствует

9931ХС3445 -cоответствует

<p><strong>7.2. Поиск выражений в начале строки с помощью метасимвола '^'</strong></p>

Метасимвол '^' позволяет искать слова или символы, стоящие в начале строки. Например, благодаря шаблону ^d можно отобрать из списка, выводимого командой ls -l, только те записи, которые соответствуют каталогам:

drwxrwxrw- - соответствует

-rw‑rw‑rw- - не соответствует

drwxrwxr‑x -cоответствует.

-rwxr‑xr‑x — не соответствует

Вернемся к рассмотренному в предыдущем параграфе примеру фильтрации текстового файла. Шаблон ^001 соответствует строкам, начинающимся с символов "001". Результат его применения может быть таким:

1234ХС9088 — не соответствует

4523ХХ9001 — не соответствует

0011ХА9912 -cоответствует

993IXC3445 — не соответствует

Для поиска строк, у которых в четвертой позиции от начала стоит символ '1', можно воспользоваться следующим шаблоном:

^…1

В результате получим:

1234ХС9088 — не соответствует

4b23ХХ9001 — не соответствует

0011XA9912 -cоответствует

993ДХС3445 -cоответствует

Чтобы найти строки, начинающиеся с символов "comp", следует указать:

^comp

Давайте немного усложним этот шаблон. Предположим, после символов "comp" могут идти любые две буквы, но завершать последовательность должны символы "ing":

^comp..ing

Этот шаблон обеспечивает поиск таких слов, как "computing", "complaining" и т. д. Как показывает данный пример, в регулярном выражении можно сочетать различные шаблоны поиска.

<p><strong>7.3. Поиск выражений в конце строки с помощью метасимвола '$'</strong></p>
Перейти на страницу:

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

112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)
112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)

  По Парижу приятно гулять, бесцельно бродить, кружить по узким улочкам, отдыхать в маленьких кафе и в парках у фонтанов. Здесь есть все для любителей архитектуры, ценителей живописи, театралов, меломанов, гурманов, поклонников всевозможных развлечений. Париж притягивает, удивляет, очаровывает, постепенно приоткрывая тайны любознательному гостю, который теряется от сложности выбора: что же увидеть прямо сейчас, а что отложить на потом. Мои 112 страниц про Париж, надеюсь, помогут сделать этот выбор. Предложенные 7 прогулок по городу включают в себя не только известные всему миру достопримечательности, но и множество других, которые часто остаются за пределами стандартных туристических маршрутов.  

Елена Р Стамбулян , Елена Р. Стамбулян

Руководства / Путеводители / Словари и Энциклопедии
40+. Уход за телом
40+. Уход за телом

Женщина после 40 лет – настоящая богиня, умудренная опытом и оттого еще более прекрасная. Но чтобы надолго сохранить красоту и молодость, нужно постоянно собой заниматься: ухаживать за своим телом, руками и ногами, выполнять физические упражнения и соблюдать диету. Благодаря этой книге вы научитесь самостоятельно готовить омолаживающие, питательные, увлажняющие кремы и маски, а также скрабы и пилинги из натуральных продуктов; выполнять легкие и эффективные упражнения для стройной фигуры и профилактики варикозного расширения вен, делать массаж рук и ног, навсегда избавитесь от целлюлита и сможете легко ориентироваться в выборе омолаживающих процедур в СПА-салонах и хирургических операций в клиниках красоты. Правила здорового питания, популярные диеты и рецепты полезных блюд – в этой книге есть все, что поможет 40-летним женщинам всегда быть в форме.

Анастасия Витальевна Колпакова

Здоровье / Руководства / Здоровье и красота / Дом и досуг / Словари и Энциклопедии

Все жанры