Ich habe diese Antwort gesehen .
Sie sollten in Betracht ziehen, inotifywait als Beispiel 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 für die Erstellung von Dateien eines beliebigen Typs überwacht, aber wie ändere ich den inotifywaitBefehl, um nur zu melden, wenn eine Datei eines bestimmten Typs / einer bestimmten Erweiterung erstellt (oder in das Verzeichnis verschoben) wird - z. B. sollte es melden, wenn eine .xmlDatei erstellt wird.
WAS ICH VERSUCHT HABE:
Ich habe den inotifywait --helpBefehl ausgeführt und die Befehlszeilenoptionen gelesen. Es hat --exclude <pattern>und --excludei <pattern>Befehle zum EXCLUDE von Dateien bestimmter Typen (mit regEx), aber ich brauche eine Möglichkeit, nur die Dateien eines bestimmten Typs / einer bestimmten Erweiterung zu INCLUDE .
pathobigen Option wahrscheinlich nicht der beste Variablenname, wenn Sie zuerst in einer Shell damit spielen möchten. Wenn Sie es verwenden, können Sie nicht alle Befehle verwenden, da dies im Grunde genommen nur den Standard überschrieben hatPATH. Daher empfehle ich, stattdessen einen alternativen Variablennamen zufpathverwenden. Das heißt,while read fpath action filejeder Standardbefehl, der normalerweise in Ihrer Shell verfügbar ist, ist weiterhin verfügbar.