Утилита grep используется для поиска и фильтрации текста на основе шаблона или регулярного выражения. Утилита может производить поиск в тексте, содержимом файлов, в выводе команды. В терминале linux команда grep получила широкое применение благодаря гибкому функционалу.

Синтаксис команды grep:

$ grep [опции]  шаблон поиска [имя файла]

или совместно с командой:

$ комманда | grep [опции] шаблон поиска

Шаблон поиска может включать в себя отдельные слова и фразы. Фразы должны быть заключены в одинарные или двойные кавычки. Опции дают дополнительные параметры поиска. Имя файла - это место, где будет производится поиск утилитой grep.

Пример:

$ ls | grep text.txt
$ ls | grep 'My Documents'

В приведённом примере утилита grep производит поиск файла text.txt  и каталога 'My Documents' в выводе команды ls. Другой пример позволяет найти и вывести нужный процесс:

$ ps | grep doublecmd

Приведём ещё несколько полезных примеров применения утилиты grep.

$ grep user /etc/passwd

или

$ grep -i "error" /var/log/

В первом примере производится поиск пользователя в файле паролей /etc/passwd. Во втором примере результатом поиска будет вывод логов согласно шаблону "error" без учёта регистра - опция -i.

Опции утилиты grep:

  • -i - поиск текста без учёта регистра;
  • -r - рекурсивный поиск;
  • -l - выводит только имена файлов;
  • -v - выбрать не совпадающие строки с шаблоном поиска;
  • -w - выбрать строки содержащие все слова из шаблона поиска;
  • -x - выбрать только те совпадения, которые точно соответствуют всей строке поиска;

Данный раздел будет дополнен.