Поиск определённой строки в текстовом файле (посмотрим в логе веб-сервера, кто там пытается перебирать пароль на админку сайта):
cat litl-admin-SSL.log.1 | grep "LOGIN\ FAILED"
Очень много записей. Как видите, grep работает как будто текстовый фильтр. Кстати, можно использовать регулярные выражения. Например указатели начала или конца строки (^ и $ соответственно).
Можно использовать различные конвейеры для поэтапной фильтрации различных подстрок. Об этом следующий пример.Поиск строк, которые НЕ ВКЛЮЧАЮТ указнные шаблон (используется ключ -v). Например, посмотрим, у кого из пользователей есть интерактивная оболочка:
# cat /etc/passwd | grep -v "nologin" | grep -v "false"
4 пользователя. Все легальные. Хорошо )Поиск строк во всех файлах в указанном каталоге. Часто использую этот пример, чтобы найти какой-то фрагмент в исходниках. Например найдём, в каких файлах упоминается имя скрипта “ads.js”
# grep -rn "ads.js"
Ключи -r означает рекурсивный поиск в подкаталогах (от текущего) в каждом файле. А -n – указывает имя файла и номер строки. Очень удобно потом открыть файл редактором и перейти на нужный фрагмент.То же самое, но вывести ТОЛЬКО имена файлов:
# grep -rl "ads.js"
Регистронезависимый поиск. Да, шаблон регистрозависим. Если есть подозрение, что где-то в примерах выше будет указано имя файла “Ads.js” – не прокатит. Дабы не опростоволоситься, стоит добавить ключик -i и всё будет хорошо:
# grep -irl "ads.js"
Вся информация предоставлена лишь для ознакомления и не призывает к действиям. Автор не несет ответственности за использование этой информации.