![`tail -f 대안` 동일한 상위 폴더 아래 여러 폴더의 여러 파일에서 연속 스트림 인쇄 허용 [중복]](https://linux55.com/image/144408/%60tail%20-f%20%EB%8C%80%EC%95%88%60%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EC%83%81%EC%9C%84%20%ED%8F%B4%EB%8D%94%20%EC%95%84%EB%9E%98%20%EC%97%AC%EB%9F%AC%20%ED%8F%B4%EB%8D%94%EC%9D%98%20%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EC%97%B0%EC%86%8D%20%EC%8A%A4%ED%8A%B8%EB%A6%BC%20%EC%9D%B8%EC%87%84%20%ED%97%88%EC%9A%A9%20%5B%EC%A4%91%EB%B3%B5%5D.png)
내가 아는 한, tail -f <filename>
파일에 새로 추가된 데이터를 계속해서 인쇄하는 것이 허용됩니다.
콘텐츠를 얻으려면 어떻게 해야 하나요?여러 파일에서동일한 상위 폴더 아래의 여러 폴더에 저장한 다음 필요한 경우 해당 콘텐츠를 필터링하고 모니터링되는 여러 파일에 새 데이터가 추가되면 마지막으로 라이브 스트림으로 인쇄하시겠습니까?
편집: 운영 체제는 RedHat Enterprise Linux 7.4입니다.
답변1
다음 단일 코드 줄을 사용하십시오.
while true; do cat /path/to/numerous/folders/and/files/*/*.txt | grep "some filter" | tail -n 10; sleep 1; done
1초마다 스크립트는 필터링된 스트림의 마지막 10줄을 인쇄합니다.
사이클을 중단하려면 을 누르십시오 CtrlC.
답변2
다음 명령을 시도해 보세요.
ls /path/to/files/to/be/monitored/by/tail | while read fname; do tail -f $fname & done; wait