Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Застосування регулярних виразів для конкретного пошуку тексту. Програма GREP.Опис, опції, приклад




Регулярні вирази застосовуються в багатьох редакторах, таких як emacs, в програмах grep/egrep і мовах, таких як awk, perl і sed. Регулярні вирази використовуються для розширеного контекстного пошуку і модифікації тексту. Регулярний вираз — це формальний опис шаблону, який відповідає текстовому рядку. Хоча регулярні вирази дуже широко поширені в світі Linux/unix, але не існує такої штуки, як "стандартна мова регулярних виразів". Є декілька різних діалектів. Наприклад, два типи програми grep: grep і egrep. Обидві використовують регулярні вирази з можливостями, що трохи відрізняються. Perl, можливо, має повніший набір регулярних виразів. На щастя, всі вони слідують загальним принципам.

Команда grep, одна із самих відомих і потрібних команд Юніксовидних ОС, веде свій початок від першого текстового редактора Юникс - ed. В цьому редакторі була команда g/re/p (global/regular expression/print), яка і дала свою назву новій програмі.

Використовує недетермінований алгоритм. Если имя_файла не указано, grep предполагает поиск в стандартном входном потоке. Команда grep слугує для пошуку рядка, який містить задачний користувачем зразок. Якщо ім’я файлу не задати то пошук буде задіяний безпосередньо у комінді вводу. Може також обробляти велику кількість файлів записаних через пробіл.

Синтаксис

grep зразок имя_файлу.

/usr/bin/grep [ -bchilnsvw ] ограниченное_регулярное_выражение
[ имя_файла... ]

/usr/xpg4/bin/grep [ -E | -F ] [ -c | -l | -q ] [ -bhinsvwx ]
-e список_образцов... [ -f файл_образцов ]...
[ имя_файла... ]

 

 

Список зразків переважно беруть в однинарні лапки ‘ ’

Опції:

-e – програмі вказує на те,що зразок списку - це повний регулярний вираз.

-f – визначається як фіксовані рядки

Якщо жодна з даних опцій не вказана, інтерпретує елементи спуску – зразка як прості регулярні вирази

-b -Предваряет каждую строку номером блока, в котором она была найдена.

c Выдает только количество строк, содержащих образец.
h Предотвращает выдачу имени файла, содержащего сопоставившуюся строку, перед собственно строкой. Используется при поиске по нескольким файлам.
i Игнорирует регистр символов при сравнениях.
l Выдает только имена файлов, содержащих сопоставившиеся строки, по одному в строке. Если образец найден в нескольких строках файла, имя файла не повторяется.
n Выдает перед каждой строкой ее номер в файле (строки нумеруются с 1).
s Подавляет выдачу сообщений о не существующих или недоступных для чтения файлах.
v Выдает все строки, за исключением содержащих образец.

e список_образцов Задает один или несколько образцов для поиска. Образцы в списке_образцов должны разделяться символами новой строки

f файл_образцов Читает один или несколько образцов из файла с указанным полным именем файл_образцов. Образцы в файле_образцов завершаются символом новой строки. Пустой образец можно задать с помощью пустой строки в файле_образцов. Если только вместе с этой опцией не указана опция -E или -F, каждый образец счиается простым регулярным выражением.

-F Задает сопоставление с фиксированными строками. Каждый образец ищется как строка, а не как регулярное выражение. Если входная строка содержит любой из образцов в качестве подряд идущих байтов, такая строка считается соответствующей образцу.

-x Считает сопоставившимися только строки, все символы которых использованы при сопоставлении с фиксированной строкой или регулярным выражением.

Образцы в списке_образцов должны разделяться символами новой строки.

Приклади

Пример 1: Поиск всех вхождений слова

Чтобы найти все вхождения слова "Posix" (независимо от регистра) в файле text.mm и выдать номера соответствующих строк:

example% /usr/bin/grep -i -n posix text.mm

Пример 2: Поиск пустых строк

Чтобы найти все пустые строки в стандартном входном потоке:

example% /usr/bin/grep ^$ або

example% /usr/bin/grep -v.

Пример 3: Поиск строк, содержащих фиксированные подстроки

Обе следующих команды выдают все строки, содержащие подстроки abc, def или и ту, и другую:

example% /usr/xpg4/bin/grep -E 'abc def'
example% /usr/xpg4/bin/grep -F 'abc def'






Поделиться с друзьями:


Дата добавления: 2016-04-03; Мы поможем в написании ваших работ!; просмотров: 480 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2357 - | 2221 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.