Як використовувати хвіст -f з грепом, щоб показати навколишні лінії


16

Я хотів би бачити вихід у лог- файлі, зібраним лише одним доменом, але також наступними двома рядками .

Приклад:

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

це показує всі рядки, що містять "mydomain.de", але важлива інформація знаходиться в рядку під рядком, куди включений домен

Відповіді:


25

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

  • -A (після)
  • -B (раніше)
  • -C (контекст [до + після])

Тож у вашому випадку вам потрібно -A:

YOUR_COMMAND |grep -A NUMBER YOURDOMAIN

вищевказана команда друкує NUMBERрядки після YOURDOMAINу файлі.


Однак зауважте, що це розширення GNU. Якщо ви працюєте в Linux, у вас grepнапевно є така опція. Якщо вас немає, то краще перевірте.
Леонід

9

Спробуйте передати кількість рядків контексту для переключення.

| grep -C 5

надрукує 5 рядків до і після матчу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.