21.04.2015

grep

grep  — Поиск файлов или строки в файле по шаблону.

grep "шаблон поиска" "file_name"

Допустим в папке /root у нас лежит три файла:
/root/.bash_history
/root/.bash_history
/root/test

-r Поиск рекурсивно по всем файлам в указанной директории. Пример:

#grep -r authorized /root

/root/.bash_history:mv authorized_keys authorized_keys2
/root/.bash_history:chmod 600 authorized_keys2
/root/test: authorized_keys2 test file


-h Не выводит имя файла при поиске по нескольким файлам. Пример:

#grep -rh authorized /root

mv authorized_keys authorized_keys2
chmod 600 authorized_keys2
authorized_keys2 test file

-l Выводит только имена файлов, в которых найдена строка. Если в файле есть несколько таких строк, то имя файла выводится только один раз. Пример:

#grep -rl authorized /root

/root/.bash_history
/root/test

-c Выводит количество найденных строк. Пример

#grep -с authorized /root/.bash_history

2


#grep -rlс authorized /root

3

-v Выводит все строки кроме содержащих указанный шаблон.

-i Игнорировать регистр при поиске. То есть если Вы указали шаблон поиска с маленьких букв, в результат
попадут также строки, где встречается этот шаблон с заглавными буквами.

-n Добаляет номер найденной строки в начало ее вывода.

-s Подавляет вывод ошибок о ненайденом файле, например.

-w Поиск шаблона как отдельного слова, например поиск по -w «auth» не будет включать в результат строки, где встречается «authentic», а только строки где есть отдельоне слово auth.