私は この答え を見てきました。
例として、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 [〜#〜]ファイルへのコマンド(regExを使用して)が、への方法が必要特定のタイプ/拡張子のファイルだけを含める。
特定のタイプ/拡張子のファイルが作成されたときにのみレポートするようにinotifywaitコマンドを変更するには
現在、inotify
にアクセスできないため、これはnested codeであることに注意してください。しかし、これに似たものが機能するはずです:
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
ダブルネガティブを使用する:
inotifywait -m --exclude "[^j][^s]$" /path -e create -e moved_to |
while read path action file; do
echo "The file '$file' appeared in directory '$path' via '$action'"
done
これにはJavaScriptファイルのみが含まれます
--includeと--includeiは、少なくともバイナリのマスターバージョンの実際のオプションです。