linux:commands:grep

Grep

Команда grep призначена для пошуку рядків, що відповідають шаблону, заданому в параметрі “Шаблон”

grep [опции] шаблон [/путь/к/файлу/или/папке…]

або

команда | grep [опции] шаблон

  • -E, –extended-regexp - включить расширенный режим регулярных выражений (ERE);
  • -F, –fixed-strings - рассматривать шаблон поиска как обычную строку, а не регулярное выражение;
  • -G, –basic-regexp - интерпретировать шаблон поиска как базовое регулярное выражение (BRE);
  • -P, –perl-regexp - рассматривать шаблон поиска как регулярное выражение Perl;
  • -e, –regexp - альтернативный способ указать шаблон поиска, опцию можно использовать несколько раз, что позволяет указать несколько шаблонов для поиска файлов, содержащих один из них;
  • -f, –file - читать шаблон поиска из файла;
  • -i, –ignore-case - не учитывать регистр символов;
  • -v, –invert-match - вывести только те строки, в которых шаблон поиска не найден;
  • -w, –word-regexp - искать шаблон как слово, отделенное пробелами или другими знаками препинания;
  • -x, –line-regexp - искать шаблон как целую строку, от начала и до символа перевода строки;
  • -c - вывести количество найденных строк;
  • –color - включить цветной режим, доступные значения: never, always и auto;
  • -L, –files-without-match - выводить только имена файлов, будут выведены все файлы в которых выполняется поиск;
  • -l, –files-with-match - аналогично предыдущему, но будут выведены только файлы, в которых есть хотя бы одно вхождение;
  • -m, –max-count - остановить поиск после того как будет найдено указанное количество строк;
  • -o, –only-matching - отображать только совпавшую часть, вместо отображения всей строки;
  • -h, –no-filename - не выводить имя файла;
  • -q, –quiet - не выводить ничего;
  • -s, –no-messages - не выводить ошибки чтения файлов;
  • -A, –after-content - показать вхождение и n строк после него;
  • -B, –before-content - показать вхождение и n строк после него;
  • -C - показать n строк до и после вхождения;
  • -a, –text - обрабатывать двоичные файлы как текст;
  • –exclude - пропустить файлы имена которых соответствуют регулярному выражению;
  • –exclude-dir - пропустить все файлы в указанной директории;
  • -I - пропускать двоичные файлы;
  • –include - искать только в файлах, имена которых соответствуют регулярному выражению;
  • -r - рекурсивный поиск по всем подпапкам;
  • -R - рекурсивный поиск включая ссылки;

Пошук текста в файлі: grep root /etc/passwd

Пошук без реєстра символів: grep -i “time” /etc/passwd

Декілька слів для пошуку: grep -e “root” -e “daemon” /etc/passwd

Вимкнути регулярку: grep -F “[” /etc/grub.d/00_header

З іншою командою: ps aux | grep “gnome”

Можна за допомогою grep знайти в файлі логів потрібні записи, наприклад про помилку 504:

grep "504" /var/log/nginx/error.log

Також перевірити логи в заархивованому файлі за допомогою zgrep:

zgrep "504" /var/log/nginx/error.log.gz

Також пошук в кількох файлах логів відразу:

grep "504" /var/log/nginx/*.log
  • linux/commands/grep.txt
  • Востаннє змінено: 21/07/2024 17:57
  • (зовнішнє редагування)