Когда необходимо узнать какой-либо параметр в конфигурации необязательно просматривать весь файл, ускорить процесс поиска поможет команда grep.
В общем виде команда выглядит так:
1 | grep “<string>” <file> |
где:
string – искомая строка,
file – путь и имя файла, в котором ищем.
Например, посмотрим строки passwd для пользователя root:
1 | grep root /etc/passwd |
1 2 | root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin |
Следующая команда возвращает количество вхождений строки в файл:
1 | grep -c “<string>” <file> |
Вывести номер строки в файле:
1 | grep -n “<string>” <file> |
Найти строки по регулярному выражению в файле:
1 | grep -E “<regexp>” <file> |
Например, найдем строки, начинающиеся с «love»
1 | grep -E “^love” <файл> |
Чтобы найти строку в файлах папки рекурсивно:
1 | grep -r “<string>” <directory> |
Ключ -v позволяет искать обратное соответствие. Следующий пример выведет все строки файла в которых нет строки bar.
1 | grep -v bar <file> |
Список файлов в которых есть строка:
1 | grep -l “<string>” <directory> |
Grep помогает фильтровать вывод других команд с помощью конвейерной обработки.
1 | <command> | grep 'something' |
Например, узнать запущен ли процесс и получить его PID можно так:
1 | ps aux | grep 'postgres*' |
Или узнать модель процессора:
1 | cat /proc/cpuinfo | grep -i 'Model' |
С полным набором параметров grep можно ознакомиться здесь http://www.computerhope.com/unix/ugrep.htm.