Menu
Coddy logo textTech

Grep с флагами

Часть раздела Основы путешествия по Terminal на Coddy. Урок 35 из 82.

grep становится ещё мощнее, если добавить флаги для управления поиском и отображаемыми результатами.

Наиболее полезные флаги grep:

-i: поиск без учёта регистра case insensitive. Совпадает независимо от прописных или строчных букв:

grep -i "error" server.log   # совпадает с error, Error, ERROR

-n: показывать номера строк рядом с каждой совпавшей строкой:

grep -n "error" server.log
3:error: disk full
6:error: connection timeout

-c: показывать только count совпадающих строк, а не сами строки:

grep -c "error" server.log
2

-v, invert поиск, show строки, которые не соответствуют шаблону:

grep -v "info" server.log
error: disk full
warning: high memory usage
error: connection timeout

-r: выполнять рекурсивный поиск во всех файлах каталога:

grep -r "error" logs/   # искать все файлы внутри папки logs

-l: показывать только имена файлов, содержащих совпадение, а не совпавшие строки:

grep -l "error" *.log

Объединение флагов:

Вы можете объединить несколько флагов:

grep -in "error" server.log   # без учёта регистра + показывать номера строк
grep -vc "info" server.log    # инвертировать + подсчитать строки без info
challenge icon

Задание

Легко

Используй grep с флагами, чтобы проверить server.log тремя разными способами:

  1. Найди все строки, содержащие error, и покажи их номера строк с помощью -n
  2. Посчитай, сколько строк содержат info, используя -c
  3. Покажи все строки, которые не содержат info, используя -v

Подсказка: Выполни все три команды одну за другой. Каждый флаг изменяет способ, которым grep представляет свои результаты.

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Terminal