Небольшой ман по grep

Используем grep для поиска текста

Поискать слово word в файле

cat /path/2/file.log | grep word

или

grep "word" /path/2/file.log

или во всех файлах в папке

grep “text string” /path/2/my/dir

Как найти текст во всех подкаталогах

grep позволяет искать в подкаталогах, используя опцию -r:

grep -r "any word combination " /var/log

Вывести только имена найденных grep файлов

Чтобы grep вывела имена найденных файлов, стоит использовать опцию -H.

grep -Hr ERROR /var/log

Теперь нужно прогнать вывод через фильтр, чтобы оставить только имена файлов, в которых есть вхождение текста, а также удалить дубликаты. Нужно использовать такую команду:

grep -Hr ERROR /var/log | cut -d: -f1 | sort -u

Если требуется игнорировать регистр то следует добавить флаг -i

grep -i error /var/log/apache.log

А флаг -s отключит вывод сообщений о файлах которые не удалось прочитать
-n выведет номер строки в которой нашлось искомое слово
А выдаст сколько строк содержит искомое слово