По умолчанию 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Декабрь 3, 2019 г.
Задача возникла в контексте SEO, требовалось предотвратить индексацию тестовых сайтов поисковыми системами. На практике видно, что инструкции файла robots.txt ...
Читать
Июнь 22, 2017 г.
Чтобы посмотреть root пароль от mySQL на unix - хостинге, нужны:
Достаточные права (root-доступ)
Знать где смотреть :)
Первое условие вам придется обеспечить самостоятельно, а со вторым - я вам помогу. Текстовый файл с паролем в открытом ...
Читать
Октябрь 22, 2019 г.
Веб сервера поддерживают обычно соединение в течении какого то времени. Но что делать, если нужно скачать файл, который просто не успевает закачаться за отведенное время?
В Unix файл можно скачать по ссылке командой wget, вот так:
[crayon-69573f7e292d6617740347/] ...
Читать
Январь 23, 2017 г.
В данном случае от "404 ошибки - файл не найден" нас отделяет целая пропасть. Файл найден, но сервер его не спешит отдавать пользователю, т.к. считает, что у пользователя не достаточно на это прав.
Если сервер предотвратил несанкционированный доступ ...
Читать