Продолжим рубрику знакомства с полезными командами Linux, в предыдущей теме мы рассказывали о средствах просмотра файла в Linux.
С помощью команды grep можно быстро найти необходимые им строки в файлах и выводах команд, используя его как дополнительную опцию к основной команде.
Образец: grep [ключ] [слово поисковое] [путь к файлу]
grep -c Вывести только общее число строк; -i Не учитывать регистр букв; -n Перед каждой строкой выводить ее номер; -v Учитывать только строки, не соответствующие образцу;
Полезные примеры команды Grep.
1. Поиск слова «alarm» в файле /var/log/zabbix/zabbix_server.log с отображением номера строки:
grep -i -n Alarm /var/log/zabbix/zabbix_server.log
2. Ищем строку или набор слов «alarms, 0 audit» 0 в файле /var/log/zabbix/zabbix_server.log, в таком случае нужно заключать в кавычки:
grep "alarms, 0 audit" /var/log/zabbix/zabbix_server.log
3. Показать строки, где не встречается слово «alarms»
grep -v "alarms" /var/log/zabbix/zabbix_server.log
4. Слово может быть в другом регистре — в таком случае используем ключ, игнорирующий регистр «-i«, тогда нам неважно с большой или маленькой буквы написано слово:
grep -i alarms /var/log/zabbix/zabbix_server.log
5. Бывает, что нам неизвестно точное написание. Тогда можно использовать квадратные скобки, будут искаться варианты «alarms, alanms, Alarms, Alanms»:
grep -i Ala[nr]ms /var/log/zabbix/zabbix_server.log
6. Поиск слова в нескольких файлах.
Файлы, содержащие слово, которое вы искали, будут выведены в терминал:
grep -l [слово поисковое] ./*
7. Выделять поисковое слово цветом в выводе. команды
grep --color root /var/log/file
Пример совмещения команд.
Просмотр файла с помощью команды CAT и фильтрация вывода через GREP по слову «alarm«.
cat /var/log/zabbix//zabbix_server.log | grep alarm