русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Поиск по шаблону и специальные символы


Дата добавления: 2014-11-28; просмотров: 840; Нарушение авторских прав


Утилита gawk может выбирать строки, используя шаблон, который содержит спе­циальные символы. Сам шаблон обозначается двумя косыми и помещается в сегменте шаблона инструкции gawk.

/шаблон/ {действие}

Поиск по шаблону осуществляется во всех строках файла. Указанное действие вы­полняется по отношению к строке, в которой обнаруживается шаблон. В этом случае выполняемая gawk работа очень похожа на редактирование. Как и в sed, строка рас­сматривается в качестве строки текста, а поиск шаблона осуществляется во всей строке. В следующем примере gawk ищет строку с шаблоном Рое и, найдя таковую, выводит ее на экран.

$ gawk '/Рое/{print}' books

Raven Рое 2.50 Penguin

В gawk можно использовать те же специальные символы, что и в регулярных вы­ражениях, в фильтре sed и редакторе Ed. В первом из приведенных ниже примеров поиск шаблона выполняется в начале строки, обозначенном специальным символом А. Во втором примере поиск шаблона производится в конце строки, который обозначен спе­циальным символом $.

$ gawk '/"Christmas/{print}' books

Christmas Dickens 3.50 Academic

$ gawk '/Random*/{print}' books

Iliad Homer 10.25 Random

Как и в утилитах Ed и sed, в gawk с помощью специальных символов можно задавать разновидности шаблона: точка обозначает любой символ, звездочка — несколько эк­земпляров шаблона, а квадратные скобки — набор символов. В показанном ниже при­мере точка используется для поиска шаблона, в котором за одним произвольным сим­волом следуют символы «en».

$ gawk '/.en/{print}' books

Tempest Shakespeare 15.75 Penguin

Christmas Dickens 3.50 Academic

Raven Рое 2.50 Penguin

В следующем примере используются квадратные скобки и звездочка, то есть задается последовательность чисел. Набор возможных чисел определен диапазоном цифр в квадратных скобках, [0—9]. Звездочка обозначает любое количество экземпляров чисел. Заканчивается шаблон последовательностью символов .50. Совпадением считается лю­бое число, которое заканчивается указанными символами .50. Обратите внимание: перед точкой стоит обратная косая черта, благодаря чему программа рассматривает ее именно как точку, а не как специальный символ.



$ gawk '/[0-9]*\.50/ {print}' books

Christmas Dickens 3.50 Academic Raven Рое 2.50 Penguin

Кроме этого, в gawk используются специальные символы расширенного набора: +, ? и |. Символы + и ? — это варианты специального символа *. Символ + обозначает один или несколько экземпляров какого-либо символа, а ? — ни одного или один экземпляр символа. Символ | позволяет задать другие искомые шаблоны. В следующем примере пользователь ищет строку, содержащую либо шаблон Penguin, либо шаблон Academic.

$ gawk '/Penguin|Academic/ {print}' books

Tempest Shakespeare 15.75 Penguin
Christmas Dickens 3.50 Academic

Raven Рое 2.50 Penguin



<== предыдущая лекция | следующая лекция ==>
Теоретические сведения | Переменные, константы и шаблоны


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.646 сек.