파일의 줄을 읽고 제거하고 끝에 새 줄이 나올 때까지 기다립니다.

파일의 줄을 읽고 제거하고 끝에 새 줄이 나올 때까지 기다립니다.

실제로 파일을 모니터링하고 파일의 새 줄을 각각 실행한 다음 줄을 제거하는 bash 스크립트를 찾고 있습니다. 모든 파일이 처리되면 스크립트는 새 줄을 기다려야 합니다.

나는 어떤 답이라도 찾았지만 파일의 각 줄을 읽는 것 외에는 거의 아무것도 찾지 못했습니다.

그런데 bash가 이와 같은 작업에 효율적인가요? 아니면 이 작업을 수행하기 위해 작은 C 프로그램을 구축해야 합니까?

답변1

다음은 파일에서 줄을 제거하는 것을 제외하고 요청한 모든 작업을 수행합니다.

$ ./script && tail -n0 -f script | while read line; do eval "${line}"; done;

먼저, 파일을 실행한 다음 tail 및 eval을 남용하면 원하는 동작을 매우 쉽게 근사화할 수 있습니다.

답변2

줄을 제거하는 것이 필수가 아닌 경우 다음을 시도해 볼 수도 있습니다.

 tail -f filename | parallel eval "{}"

관련 정보