GREP — показываем только ближайшее символы от найденного совпадения

По умолчанию GREP выводит всю строку, где был обнаружен указанный вами шаблон поиска. Для форматированных текстовых файлов это подходит. Но если в поиск попадает минифицированный текстовый или binary файл, то в консоль вываливается неприлично много текста.

Так как проблема связана с неформатированным текстом, в котором нет переходов на новую строку, то использование ключей вроде -B, -A, ограничивающих кол-во строк до и после, не помогут.

Я использую следующее регулярное выражение:

Используемые ключи:

-r : рекурсивный поиск в подкаталогах,
-o : ограничивает вывод только совпадением с шаблоном,
-P : использует perl-like синтаксис регулярных выражений.

Если текст форматирован, то под шаблон попадет только одна строка с начала и до конца, но не более 100 символов от начала и после искомой фразы. Если поиск нашел совпадение в двоичном файле или оптимизированном текстовом файле, тогда до и после искомой фразы будет выведено не более 100 символов.

Мало букафф? Читайте есчо !

Найти файлы, содержащие две нужные строки

Октябрь 6, 2023 г.

Полезный пример поиска в UNIX, чтобы найти файлы, содержащие 2 и более разных подстрок. Например, мне нужно было найти все файлы конфигурации, в которых одновременно есть значение "field_spacing" и "excluded: false". Grep такой функции поиска не ...

Читать

Диагностика varnish, полезные команды

Май 30, 2018 г.

Занимался пару дней перетряхиванием конфигурации varnish на веб-сервере, решил запротоколировать некоторые моменты, если вдруг понадобится на будущее. ...

Читать

Выполнение команды от имени другого пользователя

Март 17, 2022 г.

Команда su позволяет выполнить любую операцию от имени существующего пользователя. К примеру от имени пользователя nginx: [crayon-693f2ff0f268a892689408/] Должно вывести nginx, но скорее всего ничего не получится и вы увидите сообщение ...

Читать

Скрипт для переименования базы данных в mySQL

Сентябрь 29, 2020 г.

В mySQL нет выражения вроде RENAME DATABASE oldName to newName. Если возникла задача переименовать базу данных, придется выполнить по-этапно: операции создания новой БД, копирования таблиц из старой базы (RENAME TABLE ...) и удаление старой базы. ...

Читать
 

Комментарии к «GREP — показываем только ближайшее символы от найденного совпадения»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: