로그의 검색 패턴

로그의 검색 패턴

검색 로그 파일을 가져오려고 하는데 문자열을 찾은 후 검색을 종료해야 합니다. 아래 파일을 사용하고 있습니다.

tail -100 | grep "^$( date +'%Y-%m-%d')" /home/sabari/scripts/log/log.log |grep "Migration status code updated to: S" && pkill -P $$ tail

수동으로 종료할 때까지는 검색이 종료되지 않습니다. 누구든지 도와줄 수 있나요?

[sabari@mypc log]$ tail -100 | grep "^$( date +'%Y-%m-%d')" /home/sabari/scripts/log/log.log |grep "status updated to: S"
2020-05-19 00:38:27,245  INFO statuslog:? - [P=109585:O=0:CT] status updated to: S
^C

답변1

이것이 당신이 원하는 것인지 확실하지 않지만, 만일의 경우에:

tail -f /home/sabari/scripts/log/log.log | grep --line-buffered ^$(date +'%Y-%m-%d') | sed '/status updated to: S/p;q'

sed 명령의 패턴이 발견되면 명령이 종료됩니다.

답변2

명령 tail이 불완전합니다

$ tail -100

이(가) 표준 입력을 읽으려고 하는데 아마도 원하는 내용이 아닐 것입니다.

다음과 같은 것을 시도해보세요

$ tail -100 /home/sabari/scripts/log/log.log | grep ...

관련 정보