База знаний


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


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

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

x