私はこの答えを見ました。
例として、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だけする方法が必要です 特定のタイプ/拡張子のファイル。
承認された回答:
特定のタイプ/拡張子のファイルが作成されたときにのみレポートするようにinotifywaitコマンドを変更するにはどうすればよいですか
これはテストされていないコードであることに注意してください inotify
にアクセスできないため たった今。しかし、これに似た何かが機能するはずです:
inotifywait -m /path -e create -e moved_to |
while read path action file; do
if [[ "$file" =~ .*xml$ ]]; then # Does the file end with .xml?
echo "xml file" # If so, do your thing here!
fi
done