파일의 각 줄에서 스크립트 호출

파일의 각 줄에서 스크립트 호출

3개의 매개변수가 필요한 bash 스크립트가 있습니다.

$ do_something foo bar baz

그리고 각각 다른 3개의 매개변수가 있는 여러 줄이 포함된 파일입니다.

스크립트를 cronjob으로 실행하고 싶습니다. 스크립트가 호출될 때마다 do_something파일의 한 줄을 호출하고 해당 줄에 있는 세 개의 매개 변수를 전달해야 합니다. 다음에 호출되면 다음 줄을 실행해야 하므로 해당 줄을 처리하려면 n호출 해야 합니다 . 파일의 마지막 줄을 처리한다면 다음 번에는 처음부터 시작해야 합니다.do_somethingn

내 해결책은 매번 파일의 헤드에서 처리된 줄을 제거하고 꼬리에 추가하는 것이었지만, 위치를 기억하기 위해 이러한 모든 디스크 쓰기를 수행하는 것은 너무 번거로운 것 같습니다. 마지막 줄에 대한 포인터를 포함하는 다른 파일이 있을 수 있지만 세 개의 파일은 간단한 작업에 적합하지 않습니다. 더 나은 해결책이 있습니까?

답변1

글쎄요, 해당 파일을 다시 작성해야 한다면 적어도 sed다음과 같이 스타일 있게 작업을 수행할 수 있습니다.

sed -i '1 { h; d }; $ G' file

관련 정보