Как использовать tail -f с grep для отображения окружающих линий

Я хотел бы видеть вывод в файле журнала, который был скопирован только одним доменом, но также следующими двумя строками .

Пример:

tail -f /var/log/apache2/modsec_audit.log |grep mydomain.de 

это показывает все строки, содержащие «mydomain.de», но важная информация находится в строке ниже строки, в которую включен домен

2 Solutions collect form web for “Как использовать tail -f с grep для отображения окружающих линий”

grep имеет дополнительные опции для определения количества строк до и после результата:

  • -A (после)
  • -B (до)
  • -C (контекст [до + после])

Так что в вашем случае вам нужно -A :

 YOUR_COMMAND |grep -A NUMBER YOURDOMAIN 

вышеприведенная команда печатает NUMBER строк после YOURDOMAIN в файле.

Попробуйте передать количество строк контекста в grep.

 | grep -C 5 

будет печатать 5 строк до и после матча.

  • Добавьте возврат каретки к выходу `tail` при использовании` grep`
  • Как извлечь количество физических процессоров и потоков на ядро? (Нет текста, только номер для использования в качестве входных данных в другом месте)
  • разделение CSV и сохранение заголовка без промежуточных файлов
  • Как сделать «хвост -f» файлов с чередованием логов?
  • Перенаправление вывода GREP в разные текстовые файлы в зависимости от содержимого захвата
  • Как сделать `head` и` tail` на вход с нулевым ограничением в bash?
  • `tail -f` частично потребляет последнюю строку, не заботится о новых или nul
  • Только кошка из определенной строки X (с рисунком) в другую определенную строку Y (с рисунком)
  • Как извлечь первую и последнюю строки в файле?
  • выход tailf как параметр скрипта
  • Мониторинг файла журнала и выполнение различных команд в зависимости от разных условий
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.