grep — поиск строк, соответствующих шаблону

grep — очень мощная программа, она часто используется для поиска в файлах текста по шаблону:

grep шаблон [файл...]

Когда grep находит в файле совпадение с «шаблоном», она выводит строку с найденным совпадением. Шаблоны, используемые командой grep для поиска, могут быть очень сложными, но сейчас мы рассмотрим только поиск прямого совпадения с текстом. Более сложные шаблоны, которые называют регулярными выражениями, мы рассмотрим в главе 19.

Допустим, что нам нужно найти все файлы в списке программ, которые имеют в своем имени последовательность символов zip. Результаты такого поиска могут подсказать нам, какие программы в системе имеют отношение к сжатию файлов.

Сделать это можно так:

[me@linuxbox ~]$ ls /bin /usr/bin | sort | uniq | grep zip

bunzip2

bzip2

gunzip

gzip

unzip

zip

zipcloak

zipgrep

zipinfo

zipnote

zipsplit

Команда grep имеет пару удобных параметров: -i требует от grep игнорировать регистр символов в процессе поиска (обычно поиск выполняется с учетом регистра символов), -v требует от grep выводить только строки, где совпадение с шаблоном не найдено.