私は、ディレクトリ内の各ファイルを調べ、何らかのアクションを実行するbashスクリプトを作成しています。これは何かのように見えるはずです(たぶん?)。継続的に更新されたディレクトリのアップデートを読む
for file in "$dir"* ; do
something
done
クール、右?問題は、このディレクトリが(新しいファイルで)頻繁に更新されていることです。ある時点で、私はという技術的にをdirのすべてのファイル(つまりfor-loopを終了して)で実行することを保証するものではありませんが、実際には余分なファイルでディレクトリを供給するという保証はありません。 決してのディレクトリに給餌することを保証するものではありません(まあ...塩の穀物でそれを取る)。
同じファイルを複数回処理したくないです。
私は永遠に実行され、すでに処理したすべてのファイルとファイルリストの最初のファイルを追跡する別のファイルリストBを作成しながら、いくつかのファイルリストAを更新し続けるwhileループを作成することを考えていましたファイルリストBにないものが処理されます。
もっと良い方法はありますか?この方法も機能しますか?おかげ
編集:必須では "私はbashの初心者くさいよ"
:?
inotifywait
の出力は次のようになりますか – Barmar*同じファイルを2回以上処理したくないです。その後、絶えず変化するディレクトリ内の場所に基づいてファイルを処理するためにbashを使用しないでください。 –
@AndrewHenleあなたの提案は何ですか? –