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

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

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

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

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

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

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

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

Подсчет времени выполнения скрипта в UNIX

Сентябрь 12, 2018 г.

Для того чтобы подсчитать время выполнения, нам понадобится получать время в текущий момент и вычислять разницу. Обе задачи вполне решаемы в консоли UNIX. Дату мы получим в виде числа секунд и микросекунд с начала UNIX эпохи [crayon-69778f576ed10980434887/] ...

Читать

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

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

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

Читать

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

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

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

Читать

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

Март 17, 2022 г.

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

Читать
 

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

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



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