Intereting Posts
Как я могу экспортировать свои пароли на другие компьютеры? Помогите мне понять владельца переменной места для команды curl в Dockerfile Каков альтернативный модуль openldap pwdChecker? Графический интерфейс для YUM в Fedora Автоматизация задач на веб-сайте на безголовом сервере Как ядро ​​«отказывается» от контроля инициализации, специфичной для дистрибутива? Непоследовательные результаты команды du Ошибка: недопустимая арко-независимая магия ELF при загрузке машины VirtualBox с Ubuntu Tinyos Как указать сервер ключей с GPG? Gnome 3: Показать все приложения всех рабочих областей? Линукс минт Bluetooth-гарнитура подключается сбрасывает карту клавиатуры Как можно сохранить текст OCRed при преобразовании файлов djvu и pdf? Настройка такой же темы gtk / openbox как в 64-битной собственной, так и в 32-битной среде chroot процесс работает без амперсанда, но не работает с амперсандом Конфигурация Host-файлов на главном узле и подчиненных узлах в системе Linux для запуска задания MPI

Как использовать 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 только файлы определенного типа / расширения.

как мне изменить команду 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