2011-11-29 11 views
5

:私はこれを取得中/テストファイルを作成するときにinotifyを使ってlinuxで作成したファイルを自動的に削除する方法は?私はinotifyで作成したファイルを削除しようとしていますが、それは動作しません

inotifywait -r --format '%w%f' -e create /test && rm $FILE 

/test/somefile.txt 
rm: missing operand 
Try `rm --help' for more information. 

をので、それはと思われます$ FILE変数はrmコマンドに渡されません。これを正しく行うにはどうしたらいいですか?ありがとう。 /テストにおけるファイル作成のために待機します

inotifywait -r --format '%w%f' -e create /test -q | xargs /bin/rm 

は、xargsのにファイル名を与えると、この引数を与える:(-mフラグなしで)一度ごinotifywaitを起動すると

+0

一時ファイルを取得しないことを願っています。一時ファイルを取得するには、 'open'-edファイル記述子を持ったままでディレクトリ内のエントリを' unlink'するだけです。これは 'tmpfile'の動作です。 –

答えて

6

、あなたは簡単にxargs使用することができます/bin/rmにファイルを削除すると、終了します。

あなたが継続的に(inotifywaitの-mのparamで)ディレクトリを監視する必要がある場合は、このようなスクリプトファイルを作成します。

inotifywait -m -r --format '%w%f' -e create /test | while read FILE 
do 
     /bin/rm $FILE 
done 

そして、すべてのは、新たにあなたの中に作成したファイルを/ testディレクトリになります除去された。

関連する問題