ファイルの各行からスクリプトを呼び出す

ファイルの各行からスクリプトを呼び出す

3つのパラメータを必要とするbashスクリプトがあります。

$ do_something foo bar baz

そして、それぞれ3つの異なるパラメータを持つ複数行を含むファイルです。

スクリプトをcronjobとして実行したいと思います。スクリプトが呼び出されるたびにdo_somethingファイルの1行を呼び出し、その行の3つのパラメータを渡す必要があります。次回呼び出されると次の行を実行する必要があるため、その行を処理するにはn呼び出す必要があります。ファイルの最後の行を処理する場合は、次回は最初から始める必要があります。do_somethingn

私の解決策は、毎回ファイルの先頭から処理された行を削除して尾に追加することでしたが、場所を記憶するためにこれらのすべてのディスク書き込みを実行するのは面倒です。最後の行へのポインタを含む他のファイルがあるかもしれませんが、3つのファイルは単純な操作には適していません。より良い解決策はありますか?

答え1

もちろん、ファイルを再構築する必要がある場合は、少なくともsed次のようにスタイルを設定できます。

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

関連情報