По умолчанию GREP выводит всю строку, где был обнаружен указанный вами шаблон поиска. Для форматированных текстовых файлов это подходит. Но если в поиск попадает минифицированный текстовый или binary файл, то в консоль вываливается неприлично много текста.
Так как проблема связана с неформатированным текстом, в котором нет переходов на новую строку, то использование ключей вроде -B, -A, ограничивающих кол-во строк до и после, не помогут.
Я использую следующее регулярное выражение:
|
|
grep -roP "[^\n]{0,100}(Искомая фраза)[^\n]{0,100}" |
Используемые ключи:
-r : рекурсивный поиск в подкаталогах,
-o : ограничивает вывод только совпадением с шаблоном,
-P : использует perl-like синтаксис регулярных выражений.
Если текст форматирован, то под шаблон попадет только одна строка с начала и до конца, но не более 100 символов от начала и после искомой фразы. Если поиск нашел совпадение в двоичном файле или оптимизированном текстовом файле, тогда до и после искомой фразы будет выведено не более 100 символов.
UNIX
Данная запись опубликована в 28.11.2018 13:15 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Август 22, 2013 г.
Те кто постоянно работает в командной строке UNIX, не находят ничего сложного в использовании разных утилит. Мне иногда приходится общаться с UNIX через ...
Читать
Май 31, 2025 г.
В эпоху блокировок, санкций актуальным становятся пробросы туннелей до определенных сервисов. Расскажу на примере SSH-туннеля для доступа к OpenAI API из России.
Т.е. ваш сервер размещен в стране, где доступ к api.openai.com ограничен, но хотите использовать ...
Читать
Май 31, 2025 г.
cron — это системный планировщик задач в Linux. Он позволяет запускать команды по расписанию, например: каждые 15 минут отправлять запрос на сайт или запускать скрипт.
В статье разберём два способа как правильно добавить новую строку в crontab, на ...
Читать
Сентябрь 12, 2018 г.
Для того чтобы подсчитать время выполнения, нам понадобится получать время в текущий момент и вычислять разницу. Обе задачи вполне решаемы в консоли UNIX.
Дату мы получим в виде числа секунд и микросекунд с начала UNIX эпохи
[crayon-692f99631e963058613839/] ...
Читать