![파일에서 특정 텍스트를 확인하고 종료합니다.](https://linux55.com/image/212989/%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%ED%8A%B9%EC%A0%95%20%ED%85%8D%EC%8A%A4%ED%8A%B8%EB%A5%BC%20%ED%99%95%EC%9D%B8%ED%95%98%EA%B3%A0%20%EC%A2%85%EB%A3%8C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
특정 문자열이 최종적으로 로그 파일에 기록되면 깔끔하게 종료되는 명령을 작성하려고 합니다.
다음을 시도했지만 결코 종료되지 않습니다.
설정: 명령을 테스트하기 위한 파일을 만듭니다.
echo "Build completed." > build.log
시도해 보았습니다. 작동하지 않으며 명령이 종료되지 않습니다.
tail -fn+0 build.log | grep -qe "completed"
tail -fn+0 build.log | grep --line-buffered -qe "completed"
이것은 작동하지만 복잡하므로 아직 관용적인 해결책을 찾지 못했다고 믿게 됩니다.
while true; do awk '/completed/{f=1; exit} END{exit !f}' && break; sleep 1; done < build.log
macOS 벤츄라 13.0,zsh