Если вы по привычке пропускаете вывод grep через ещё кучу команд, чтобы получить нужное, — вы по-настоящему теряете время! В самом grep есть десятки опций: от подсчёта строк и фильтрации шаблонов до ограничения вывода и извлечения нужных фрагментов. Расскажу о девяти реально полезных флагах, с которыми вы моментально найдёте всё, что нужно, не выходя из терминала.
-w: Ищет именно целое слово, а не его часть в других словах
Забудьте о ложных совпадениях внутри длинных слов
Если искать "log" обычным grep, вы получите не только "log", но и "logfile", и "catalog", и "syslog". А хочется увидеть только отдельное слово. Вот тут -w и выручает: он ищет только точные совпадения, отделённые пробелами, границами строк или знаками препинания. Например:
В этом примере grep находит в system.log только те строки, где "log" — самостоятельное слово, а не часть другого.
Зачем копаться в "сырых" логах — визуализируйте данные прямо в терминале
Устали пролистывать километры логов? С этими инструментами вы увидите данные понятнее, разберётесь быстрее и начнёте даже получать удовольствие от дебага.
-c: Только количество совпавших строк
Когда нужен просто счётчик, а не простыня совпадений
Иногда важно узнать просто число совпадений — а не ковыряться в каждой строке. -c выводит не всё содержимое, а только одно, нужное вам число. Больше не надо дописывать wc -l после grep! Например:
Так grep подсчитывает, сколько строк access.log содержат "404", и выводит только итоговое число — экран не забивается лишними строками.
-m: Ограничивает поиск нужным числом совпадений
Когда интересуют только первые совпадения, а не целая простыня вывода
По умолчанию grep покажет абсолютно все совпадения, что в больших файлах легко превращается в хаос. Если вам нужны только первые несколько штук — используйте -m: grep закончит работу, как только найдёт заданное число совпадений. Например:
В этом примере grep после пяти найденных строк с "timeout" в server.log просто завершает поиск, игнорируя остальной файл.
-C: Выводит строки вокруг совпадения (контекст)
Думайте шире — смотрите, что происходит до и после совпадения
Одна строка без контекста мало о чём скажет. Иногда важно видеть, что происходило до или после совпадения — особенно, если вы разбираете, скажем, причину ошибки. -C покажет сверху и снизу столько строк, сколько нужно — так вы разберётесь в ситуации, не открывая файл целиком.
--include: Рекурсивный поиск только в файлах нужного типа
Помогает отбросить лишнее уже на этапе поиска
Когда вы ищете в большом каталоге, grep обычно лезет во все подряд: и в скрипты, и в логи, и в markdown, и в конфиги. Если нужны только файлы определённого типа, помогите grep с --include: укажите шаблон, и он посмотрит только туда, куда надо. Например:
--include использует звёздочки и вопросительные знаки, как обычные паттерны файлов, а не регулярные выражения.
В примере -r ищет рекурсивно, а --include="*.conf" ограничивает поиск только конфигурационными файлами. Можно указать --include="Makefile" или сразу несколько шаблонов --include="*.{js,ts}". Для ещё более тонкой настройки добавьте --exclude и отсекайте всё лишнее.
-o: Выводит только совпавший кусок, без лишнего текста
Идеально, когда нужна чистая выжимка из "шумного" вывода
Обычно grep показывает всю строку, в которой есть совпадение — но иногда хочется получить только нужный фрагмент. -o выводит исключительно сам совпавший кусок. Если добавить -E (расширенные регулярки), получится очень точное извлечение информации. Например:
В таком сочетании -o выводит, скажем, только IP-адреса, а -E позволяет задать хитрый паттерн для поиска.
-s: Отключает ошибки для файлов, которые невозможно прочитать
Пусть grep не орёт о недоступных файлах!
Если запускать grep рекурсивно по системным папкам, терминал быстро засорится сообщениями "Нет доступа". Особенно много их бывает в /etc/. Флаг -s полностью убирает эти ошибки — grep покажет только реальные совпадения, не засоряя экран служебным "шумом". Количество проверяемых файлов не меняется, меняется только "тишина" в терминале.
В примере -r ищет по /etc/ рекурсивно, -s делает это тихо: всё недоступное пропускается без лишних предупреждений.
-v: Вывести только строки, не совпавшие с шаблоном
Хотите обратный поиск? Вот как быстро отфильтровать лишнее!
Обычно grep ищет совпадения, но нередко нужно наоборот — удалить всё, что лишнее. Флаг -v меняет результат на противоположный: покажет лишь строки, которые НЕ совпали с вашим паттерном. Например, чтобы убрать все комментарии из конфига и оставить только рабочие параметры. -v отлично работает и с регулярками.
В этом примере ^# ищет строки, начинающиеся с # (комментарии), а -v оставляет только строки без них.
-l: Показывает только имена файлов с совпадениями
Быстро находите нужные файлы — без кучи лишнего вывода
Если вы ищете что-то во многих файлах, стандартный grep выдаёт все подходящие строки со всех файлов подряд — и вы тонете в информации. С флагом -l вы увидите только имена файлов, где нашли совпадение — никаких строк, только путь до файла. В паре с -r из тысячи строк останется компактный список.
Здесь -r ищет по ./src/ рекурсивно, -l выводит только имена файлов, где встретился "API_KEY" — быстро и без "мусора".
5 команд Linux, которые сделают чтение огромных файлов проще
Качество поиска важнее его объёма.
Гораздо мощнее, чем кажется: grep способен удивить любого пользователя!
Вот вам девять флагов, с которыми уже не нужно сочинять длинные цепочки команд или для каждой задачи открывать файлы вручную. Освойте хотя бы парочку, и вместо утомительного разбора тонны вывода вы начнёте действительно быстро находить нужное, экономя часы. Начните с самых полезных лично для вас опций — и открывайте для себя новые фишки по мере надобности!
Kubuntu Focus M2 Gen 6
Этот ноутбук создавался для разработчиков и профессионалов, которым нужна действительно портативная рабочая станция и игровая машина на Kubuntu Linux. Здесь мощный процессор Intel с частотой до 5,4 ГГц и две видеокарты — интегрированная плюс дискретная NVIDIA 5070 Ti. Подходит для сильных задач: от искусственного интеллекта до современных игр.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru