Ich habe diese Antwort gesehen.
Sie sollten als Beispiel in Betracht ziehen, inotifywait zu verwenden:
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
Meine Frage ist, dass das obige Skript ein Verzeichnis auf die Erstellung von Dateien jeglicher Art überwacht, aber wie ändere ich den inotifywait
Befehl, nur zu melden, wenn eine Datei eines bestimmten Typs/einer bestimmten Erweiterung erstellt (oder in das Verzeichnis verschoben) wird – z. es sollte melden, wenn .xml
Datei erstellt.
WAS ICH VERSUCHT HABE:
Ich habe inotifywait --help
ausgeführt Befehl und haben die Befehlszeilenoptionen gelesen. Es hat --exclude <pattern>
und --excludei <pattern>
Befehle zum AUSSCHLIESSEN Dateien bestimmter Typen (unter Verwendung von RegEx), aber ich brauche eine Möglichkeit, nur INCLUDE die Dateien eines bestimmten Typs/Erweiterung.
Akzeptierte Antwort:
Wie ändere ich den Befehl inotifywait, um nur zu melden, wenn eine Datei
eines bestimmten Typs/einer bestimmten Erweiterung erstellt wird
Bitte beachten Sie, dass dies ungetesteter Code ist da ich keinen Zugriff auf inotify
habe im Augenblick. Aber etwas Ähnliches sollte funktionieren:
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