Как использовать 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 -f передается через grep, не выводящий в файл, но выводит на консоль
  • grep не работает в цикле for по списку
  • Извлечь диапазон элементов из i-го элемента в j-й элемент, вплоть до n-го элемента из списка
  • Скользящее среднее в файле журнала с awk или другими утилитами unix?
  • Окрашивание хвостового выхода с помощью perl
  • Как заставить Vim вести себя как «tail -f»?
  • Как эхо из определенной строки файла в другую определенную строку
  • Можно ли изменить количество строк по умолчанию хвоста?
  • Мониторинг файла журнала и выполнение различных команд в зависимости от разных условий
  • `tail -f` частично потребляет последнюю строку, не заботится о новых или nul
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.