Ho visto questa risposta .
Dovresti considerare l'utilizzo di inotifywait, come esempio:
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
La mia domanda è che lo script sopra controlla una directory per la creazione di file di qualsiasi tipo, ma come posso modificare il inotifywait
comando per segnalare solo quando viene creato (o spostato nella directory) un file di un determinato tipo / estensione - ad esempio, dovrebbe segnala quando .xml
viene creato un file.
COSA HO PROVATO:
Ho eseguito il inotifywait --help
comando e ho letto le opzioni della riga di comando. Ha --exclude <pattern>
e --excludei <pattern>
comanda di ESCLUDERE i file di determinati tipi (usando regEx), ma ho bisogno di un modo per INCLUDERE solo i file di un certo tipo / estensione.
path
sopra non è probabilmente il miglior nome di variabile se vuoi giocare con questo prima in una shell. Se lo usi, non sarai in grado di usare i comandi e tutto, poiché questo ha praticamente ignorato lo standardPATH
. Quindi consiglio di usare un nome var alternativo, comefpath
invece. cioèwhile read fpath action file
allora qualsiasi comando standard normalmente disponibile dalla tua shell sarà ancora.