5

作成したファイルをinotifyで削除しようとしていますが、機能しません。

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

/ testにファイルを作成すると、次のようになります。

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

そのため、$ FILE変数がrmコマンドに渡されていないようです...これを正しく行うにはどうすればよいですか?ありがとう。

4

1 に答える 1

6

inotifywaitを1回(-mフラグなしで)起動すると、xargsを簡単に使用できます。

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

/ testでファイルが作成されるのを待ち、xargsにファイル名を指定し、このargを指定/bin/rmしてファイルを削除すると、終了します。

(inotifywaitの-mパラメータを使用して)ディレクトリを継続的に監視する必要がある場合は、次のようなスクリプトファイルを作成します。

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

次に、/testディレクトリに新しく作成されたすべてのファイルが削除されます。

于 2011-11-29T17:28:12.900 に答える