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