tail -f ... | grep 으로 로그 추적할 때 로그가 한 줄이 아니라면?

조회수 6086회
tail -f mylog.log | grep some-keyword

위와 같은 식으로 로그를 파이프 + grep으로 필터링하는게 가능한데, 문제는 이 방식이 한 줄이 아니라 여러줄에 걸쳐서 출력되는 내용은 제대로 필터링하지 못하고 첫 줄 이외엔 다 짤리더라구요.

첫째 줄 blahblah
둘째 줄 some-keyword blahblah
셋째 줄 관련 있는 로그1
넷째 줄 관련 있는 로그2
다섯째 줄 관련 있는 로그3
여섯째 줄 blahblah
일곱째 줄 blahblah

위처럼 로그가 출력될 때 둘째 줄부터 다섯째 줄까지 필터링할 방법은 없을까요?

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    규칙적으로 로그가 찍힌다는 가정하에, -A 옵션을 활용할 수 있을 것 같은데요.

    해당 키워드 이후 몇 라인까지 출력하는 옵션입니다.

    tail -f mylog.log | grep -A3 some-keyword
    
    • 감사합니다. 그런데 라인 수가 일정하지 않아서요. '다음 some-keyword가 올때까지' 같은 방식으로는 불가능할까요? 편집요청빌런 2017.6.23 20:18
    • 저도 그거까지는 잘 모르겠네요; 관련있는 로그에는 별다른 키워드가 없나요? 키워드가 있다면 -e 옵션으로 여러 키워드를 등록하면 가능할텐데요. 김선우 2017.6.26 11:31

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)