例として、inotifywaitの使用を検討する必要があります。
inotifywait -m /path -e create -e moved_to | while read path action file; do echo "The file '$file' appeared in directory '$path' via '$action'" # do something with the file done
私の質問は、上記のスクリプトは任意のタイプのファイルの作成のためにディレクトリを監視しinotifywait
ますが、特定のタイプ/拡張子のファイルが作成された(またはディレクトリに移動された)ときにのみレポートするようにコマンドを変更するにはどうすればよいですか?.xml
ファイルが作成されたときにレポートします。
私が試したもの:
inotifywait --help
コマンドを実行し、コマンドラインオプションを読みました。それは持っている--exclude <pattern>
と--excludei <pattern>
するコマンドEXCLUDE(正規表現を使用して)特定の種類のファイルを、私はする方法が必要ですちょうどINCLUDE特定のタイプ/拡張子のファイルを。
path
これをシェルで最初にプレイしたい場合、上記を使用することはおそらく最良の変数名ではありません。これを使用する場合、コマンドとすべてを使用することはできませんPATH
。これは基本的に標準をオーバーライドしたためです。したがって、代わりに、別の変数名を使用することをお勧めしfpath
ます。つまりwhile read fpath action file
、シェルから通常使用可能な標準コマンドは引き続き使用できます。