Шпаргалка по

grep

grep — это мощный инструмент для поиска текста в файлах на основе регулярных выражений.

Основные команды:

1. Поиск строки в файле:


   grep "строка" имя_файла
  

   Ищет указанную строку в файле.

2. Поиск в нескольких файлах:


   grep "строка" файл1 файл2
  

3. Поиск рекурсивно:


   grep -r "строка" /путь/к/каталогу
  

   Ищет строку во всех файлах указанного каталога.

4. Игнорирование регистра:


   grep -i "строка" имя_файла
  

5. Показать номер строки:


   grep -n "строка" имя_файла
  

6. Вывод строк, не содержащих шаблон:


   grep -v "строка" имя_файла
  

7. Подсветка совпадений:


   grep --color "строка" имя_файла
  

8. Подсчитать количество совпадений:


   grep -c "строка" имя_файла
  

Расширенные команды:

1. Использование регулярных выражений:


   grep -E "регулярное_выражение" имя_файла
  

   Или:


   egrep "регулярное_выражение" имя_файла
  

2. Поиск с указанием количества строк до и после совпадения:


   grep -A 3 -B 2 "строка" имя_файла
  
-A

(after) и

-B

(before) указывают количество строк, которые будут выведены до и после найденной строки.

3. Поиск только имени файла:


   grep -l "строка" *
  

4. Инвертированный поиск файлов:


   grep -L "строка" *
  

   Показывает файлы, в которых не найдено совпадений.

Полезные опции:

-w

— ищет полные слова.

-o

— выводит только совпавшие строки.

-q

— тихий режим, без вывода в терминал, используется для проверки совпадений.

Примеры:

1. Поиск строки «error» в логах:


   grep "error" /var/log/syslog
  

2. Поиск строк с IP-адресами:


   grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' имя_файла
  

3. Поиск строки и запись результата в файл:


   grep "pattern" имя_файла > output.txt
  

Добавить комментарий