GNU/Linux >> Znalost Linux >  >> Linux

Jak používat Inotifywait ke sledování adresáře pro vytváření souborů s konkrétní příponou?

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

Linux
  1. Jak hledat soubory podle velikosti a přípony?

  2. Jak používat Logrotate ke správě souborů protokolu

  3. Jak odlišíte adresář pouze pro soubory určitého typu?

  1. Jak použít příkaz 'mv' k přesunutí souborů kromě souborů v konkrétním adresáři?

  2. Jak mohu rekurzivně kopírovat soubory podle přípony souboru a zachovat adresářovou strukturu?

  3. Jak vynutím konkrétní oprávnění pro nové soubory/složky na souborovém serveru Linux?

  1. Jak extrahovat soubory Tar do konkrétního nebo jiného adresáře v Linuxu

  2. Linux – Jak nastavit výchozí oprávnění k souborům pro všechny složky/soubory v adresáři?

  3. Jak skrýt soubory s konkrétní příponou?