По умолчанию 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 13, 2018 г.
Ещё одна шпаргалка по администрированию UNIX серверов. На этот раз рассмотрим несколько полезных команд для создания бекапа базы данных из консоли.
Нам понадобится команда mysqldump, которая позволяет создавать sql скрипт базы или её части.
Создание ...
Читать
Сентябрь 29, 2020 г.
В mySQL нет выражения вроде RENAME DATABASE oldName to newName. Если возникла задача переименовать базу данных, придется выполнить по-этапно: операции создания новой БД, копирования таблиц из старой базы (RENAME TABLE ...) и удаление старой базы.
...
Читать
Февраль 6, 2018 г.
Как развернуть дамп базы данных mySQL, созданный ранее?
Дамп представляет из себя mysql скрипт, в котором последовательно создаются таблицы (CREATE TABLE ...) и, возможно, другие объекты и производиться их наполнение (INSERT INTO ...). Нужно лишь отправить ...
Читать
Январь 31, 2023 г.
... и выполнить те или иные операции в зависимости от результата проверки, используя командный процессор, например bash.
Примерно так формулируется очередная небольшая задача, возникающая в ежедневном потоке рутины автоматизации работы.
Существует ...
Читать