4

Мне интересно, как улучшить использование grep при работе с файлами с очень длинными строками. Представьте себе что-то вроде "упакованных" файлов JavaScript, которые имеют только одну строку. Иногда такие файлы выдают результаты, которых я не ожидал, и заполняют мою консоль (особенно при использовании --recursive).

Я думаю, что я хотел бы что-то вроде --context но для слов / байтов вокруг матча. Я думал, что я был умным, придумав такое использование:

$ grep -rino --color ".\{0,20\}something.\{0,20\}" *

Но это делает персонажей вокруг моего поискового запроса частью совпадения.

1 ответ1

1

Я думаю, решение было несколько перед моим лицом. Сейчас я использую эту функцию в моем .bashrc:

grepAdjusted()
{
  grep -Erino ".{0,20}$1.{0,20}" ${@:2:$(($#-1))} | grep -i --color "$1"
}
alias g=grepAdjusted

Я держал это простым и для моего самого общего случая использования. Это не идеальный ответ на мой первоначальный вопрос, но он дает то, что я искал.

Вывод grepAdjusted

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .