По умолчанию 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Май 31, 2025 г.
cron — это системный планировщик задач в Linux. Он позволяет запускать команды по расписанию, например: каждые 15 минут отправлять запрос на сайт или запускать скрипт.
В статье разберём два способа как правильно добавить новую строку в crontab, на ...
Читать
Февраль 20, 2018 г.
Если вы укажите полный путь архивируемой папки в UNIX, то файлы будут размещены в архиве вместе полным путем. Не всегда это удобно и правильно, зависит от выполняемой задачи.
Как отсечь абсолютные пути, оставив только относительные?
Для этого ...
Читать
Март 17, 2024 г.
В Unix для замены текстового значения в группе файлов можно использовать утилиту rpl.
Установите rpl:
[crayon-6a1388e25c76a553063679/]
Для замены тестовой строки выполните команду в файле FILENAME:
[crayon-6a1388e25c76f584699001/]
Подстановка ...
Читать
Декабрь 2, 2018 г.
Lessc не имеет ключа 'слежения', чтобы выполнять перекомпиляцию при изменении less файлов проекта, как например это сделано у sass компилятора. Это весьма не удобно на этапе верстки шаблона из макета.
Для отслеживания я установил UNIX утилиту inotify. ...
Читать