Я просматриваю некоторые большие файлы журналов (1-10 ГБ) и сталкиваюсь с проблемами при использовании стандартных функций поиска less (/). Поиск строк занимает несколько минут, чтобы найти совпадение.

Я слышал , что с помощью fgrep было быстрее , но я не знаю , как я хотел бы использовать это изнутри less я также открыт для других предложений. У меня нет особой необходимости в функциональности регулярных выражений; Я просто сопоставляю строки (регулярное выражение было бы неплохо, но если бы я мог отказаться от него для значительных улучшений скорости, это было бы хорошо).

У меня очень мало информации о том, где будет определенная запись, и я не хочу каким-либо образом обрезать файл, потому что, как только я найду совпадение, мне нужно будет увидеть информацию в ее окрестностях (поэтому grep | less не действительно полезно для меня).

Какие-нибудь быстрые исправления здесь?

1 ответ1

1

Вам не нужно регулярное выражение для использования grep. Чтобы решить вашу проблему, я, вероятно, использовал бы grep следующим образом:

-i нечувствителен к регистру -C это строки контекста до и после (пример показывает 10, что должно дать вам 21 строку для каждого совпадения)

grep -i -C 10 "text" <file> | less

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