grep과 함께 tail -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분명히이 옵션이 있습니다. 그렇지 않으면 확인하는 것이 좋습니다.
Leonid

9

grep에 여러 컨텍스트 행을 전달하십시오.

| grep -C 5

경기 전후 5 줄을 인쇄합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.