Поиск нескольких слов одноверменно
grep 'шаблон1\|шаблон2\|шаблон3' # в разных версиях по разному
Примеры
Обрезаем вывод
grep -iRH "finder_tokens" ./dump.sql | cut -c 1-200
Удаляем комментарии и пустые строки
| grep -v ^" "*# | grep -v ^" "*$
| grep -v '^ *#' | grep -v '^ *$' # В зависимости от версии grep
Оставляем только искомое
$ uptime
13:57:14 up 15 days, 5:05, 2 users, load average: 0.01, 0.03, 0.05
$ uptime | grep -o 'load average.*'
load average: 0.01, 0.03, 0.05
Не удаляем результаты, а только подсвечиваем
ls -alh | grep --colour 'root\|'
показывать только файлы, без содержания
grep -iRl "4MzIiOyBpZigkZXZhMWZZMmJhazFjej" ./
ищем в больших строках с обрезанием
grep --color -Eo ".{0,20}SOMETEXT.{0,20}" ./dump.sql
получаем все ссылки на странице
curl http://conovaloff.ru/doku.php | grep -PiH "href=\".*?\""
значения из файла в одну строчку
vim test.txt
:%s#\n#\\\|#
Discussion
Искать файлы в которых есть prepay, потом в этих файлах искать файлы в которых есть pdf и т.д.
Grep может зависнуть в чтение если ему повстречался fifo, device или иное подобие файла которое может симулировать бесконечное возвращение данных. Чтобы это предотвратить, можно использовать
Так же, проблемой являются спец.директории со спец файлами наподобие /proc. Чтобы их обойти, можно прибегнуть к find
включение опций по умолчанию
vim ~/.bashrc
Если вы это сделали, то пизда вашей системе, потому что все это ведет к тому, что 1000-чи других программ которые используют grep, начнут творить хуйню в таком стиле:
Неужели “get canonical path of `2:/boot'.” странно… с чего бы это?! Аааа!!!
multiline (многострочно)
проблемы с grep когда stdin идет в цвете
Так как за цвет отвечают определенные символы, то их нужно отфильтровать прежде чем грепать (или понимать, что ты грепаешь)