Фильтры (grep, -n)

fgh's picture

Определение:

Grep -- утилита, которая позволяет фильтровать "выход" каких-нибудь других утилит, с используя регулярные выражения.Расшифровывается как global regular expression print (печать глобального регулярного выражения (переводчик google) ), Grep - осуществляет поиск в файле строк , соответствующих заданному шаблону (шаблон задаёмтся правее самой программы.

Пример 1 надо найти пользователя с именем User в файле /etc/passwd :

 grep User /etc/passwd

Пример 2 надо найти пользователя с именем User в файле /etc/passwd :

 grep -i "user" /etc/passwd

Пример 3 Надо выбрать все ошибки из лог-файла, но знаем, что в следующей строчке после ошибки может содержаться полезная информация, тогда с помощью grep отобразим несколько строк. Ошибки будем искать в Xorg.log по шаблону "EE":

grep -A4 "EE" /var/log/xorg.0.log 

Пример 4 Вывод строки abc. Grep будет выводить также kbabc, abc123, aafrabc32 и тому подобные комбинации. Вы можете заставить утилиту искать по содержимому файлов в Linux только те строки, которые выключают искомые слова с помощью опции -w:

grep -w "abc" имя_файла

Пример 5 Для включения рекурсивного поиска в grep есть опция -r. Следующая команда займётся поиском текста в файлах Linux во всех подкаталогах /etc/apache2 на предмет вхождения строки mydomain.com:

grep -r "mydomain.com" /etc/apache2/

Источники:
1 linux grep Справочник -- фильтрация вывода , примеры команд, опций, флагов
2Комментарии к коду лабораторных по Unix.
2 http://www.opennet.ru/man.shtml?topic=gr...
4 git Поиск по истории сообщений к коммитам по фразе -- пример команды (linux)
5 Поиск текста в файлах Linux