Поиск строк в файлах и представление четырех строк контекста (совпадение и три следующих)

У меня есть строка (или список строк), которая / должна быть найдена во всех файлах каталога. Например, если я ищу ABC, а file1.txt содержит ABC в строке 6, то мне нужны строки 6, 7, 8 и 9 из этого файла. Я хочу, чтобы весь такой вывод переходил к новому выходному файлу.

3 Solutions collect form web for “Поиск строк в файлах и представление четырех строк контекста (совпадение и три следующих)”

Возможно, это подходит. Использует параметр grep -A (после контекста) для вывода соответствующей строки и трех последующих строк.

 find . -name file\* -exec grep -A 3 ABC {} \; > result-filename 

ПРИМЕЧАНИЕ. Вы не должны result-filename directoryname . (См .: grep: входной файл «X» также является выходным ).

Чтобы охватить несколько шаблонов:

 find . -name file\* -exec egrep -A 3 'ABC|XYZ' {} \; > result-filename 

Или несколько шаблонов из файла (спасибо Евгению Верещагину):

 find . -name file\* -exec grep -A 3 -f patterns.txt {} \; > result-filename 

Следующее выполнит поиск всех неточечных файлов в текущем каталоге:

 sed '/string/{ $!N;$!N;$!N;$!N w ./new_out_file }' ./* 

Чтобы выполнить несколько совпадений с фреймами с grep -A без find и без имен файлов, добавленных к каждому совпадению, вам просто нужен только один поток.

 cat ./* | grep -A2 -Ff pattern_file >outfile 

Я получил решение для этого:

 grep -A 2 -f 'INPUT.txt' *.* >> RESULT.txt 
  • Замените строку без учета регистра во всех файлах папок
  • Поиск текстового файла с помощью одной строки с использованием регулярных выражений
  • Извлечь строку, если первое поле содержит точку
  • Шаблоны значений для сценария bash для файлов apache conf
  • Unix - поиск имен с egrep
  • Вставить строку или строку после последнего экземпляра определенной переменной поиска в цикле
  • Как удалить повторяющиеся символы?
  • Печать уникальных строк
  • Как сравнить строки в двух файлах
  • Как вы извлекаете целое слово, содержащее подстроку?
  • Как написать данные отдельно во многих текстовых файлах, содержащих одни и те же поля?
  • Interesting Posts

    Создание пакета deb, в котором dh не создает программу

    Как проверить, установлен ли Apache SNI на Debian 8

    Множественные модификаторы модификации расширения в одном выражении

    См. Рабочий стол сервера в tightVNC

    Как найти, какой процесс в данный момент записывается на диск?

    Как заменить пробелы во всех именах файлов с помощью подчеркивания в Linux с помощью сценария оболочки?

    bash: перенаправление ввода-вывода, но не с суффиксами

    Escape shell arg из одного сценария в другой

    Почему некоторые пакеты сброса TCP отображаются в моем журнале iptables?

    Найти и заменить рекурсивный

    Шифровать пароль так же, как mysql

    Как вытащить один файл из нескольких похожих именованных файлов с помощью sftp

    Как применить новые настройки беспроводной сети на маршрутизаторе OpenWRT без перезагрузки?

    Как автогенерировать resolv.conf на Centos 6.5

    Поддерживает ли xkb сложные комбинации клавиш, такие как отображение s + hjkl влево, вниз, вверх и вправо?

    Linux и Unix - лучшая ОС в мире.