Как использовать inotifywait для просмотра каталога для создания файлов определенного расширения

Я видел этот ответ .

Вы должны рассмотреть возможность использования inotifywait в качестве примера:

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 

Мой вопрос в том, что вышеупомянутый скрипт наблюдает за каталогом для создания файлов любого типа, но как мне изменить команду inotifywait чтобы сообщать только, когда файл определенного типа / расширения создается (или перемещается в каталог) – например, он должен сообщать о создании любого .xml файла.

ЧТО Я СКАЗАЛ:

Я запустил команду inotifywait --help и прочитал параметры командной строки. У него есть --exclude <pattern> и --excludei <pattern> команды для EXCLUDE файлов определенных типов (с помощью regEx), но мне нужен способ INCLUDE только файлы определенного типа / расширения.

2 Solutions collect form web for “Как использовать inotifywait для просмотра каталога для создания файлов определенного расширения”

как мне изменить команду inotifywait для отправки отчета только при создании файла определенного типа / расширения

Обратите внимание, что это непроверенный код, так как у меня нет доступа к inotify прямо сейчас. Но что-то похожее на это должно работать:

 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 

Используйте двойной отрицательный:

 inotifywait -m --exclude "[^j][^s]$" /path -e create -e moved_to | while read path action file; do echo "The file '$file' appeared in directory '$path' via '$action'" done 

Это будет включать только файлы javascript

  • Подключение через telnet и выполнение определенных операций
  • Как создать сценарий оболочки для установки докеров
  • Loop в скрипте на удаленном сервере не работает
  • Команда Bash для закрытия всех отдельных запущенных программ с помощью экрана GNU?
  • Преобразование единиц CSV
  • Как прочитать файл свойств через мой скрипт?
  • Как использовать kdialog progressbar из сценария Bash, когда панель была инициализирована в другом скрипте?
  • Выполнять команду на нескольких секундах параллельно с помощью сценария оболочки
  • Получить статус mongodb
  • Как сопоставить текст между строкой и пробелом
  • Удалить первую строку файла
  • Linux и Unix - лучшая ОС в мире.