Команда ‘grep‘ позволяет искать по данным, которые поступают на ее вход. Направить данные в эту команду можно с помощью вертикальной черты, например:
$ ls -al | grep bash
Здесь используется две команды, разделенные вертикальной чертой. Команда ls выводит на экран список файлов, и полученный результат передается на вход команде ‘grep‘, которая ищет слово bash в входных данных.
Другой вариант использования команды grep, это поиск данных в файле. Например
$ cat .bashrc | grep alias
Команда слева выводит содержимое файла .bashrc, а правая команда ищет в результате строки, в которых есть слово alias.
Если необходимо просто найти информацию в файле, то можно обойтись одной командой grep без вертикальных линий и дополнительных команд. Формат команды следующий:
grep что где
Допустим, нам необходимо проверить, есть ли в файле /etc/hosts адрес сайта roadit.ru. Это можно сделать следующим образом
$ grep roadit.ru /etc/*
Данная команда осуществит поиск названия сайта «roadit.ru» во всех файлах каталога /etc. Так же можно искать во всех файлах, начинающихся на h:
$ grep roadit.ru /etc/h*
Либо полностью указать имя файла, где необходимо произвести поиск:
$ grep roadit.ru /etc/hosts