Tuto odpověď jsem viděl.
Měli byste zvážit použití inotifywait, jako příklad:
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
Moje otázka je, že výše uvedený skript sleduje adresář pro vytváření souborů jakéhokoli typu, ale jak mohu upravit inotifywait
příkaz hlásit pouze při vytvoření (nebo přesunutí do adresáře) souboru určitého typu/přípony – např. měl by hlásit, když jakýkoli .xml
soubor je vytvořen.
CO JSEM ZKOUŠEL:
Spustil jsem inotifywait --help
a přečetli jste si možnosti příkazového řádku. Má --exclude <pattern>
a --excludei <pattern>
příkazy EXCLUDE soubory určitých typů (pomocí regulárního výrazu), ale potřebuji způsob, jak ZAHRNIT pouze soubory určitého typu/přípony.
Přijatá odpověď:
jak upravím příkaz inotifywait, aby se hlásil pouze tehdy, když je vytvořen soubor
určitého typu/přípony
Upozorňujeme, že se jedná o netestovaný kód protože nemám přístup k inotify
právě teď. Ale něco podobného by mělo fungovat:
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