Вы можете вызвать python 3, используя /data/tools/python3
вместо python
.
Вероятно, вам придется установить его в отдельный каталог, а затем импортировать модуль по этому пути.
Вы можете использовать параметр - format
для inotifywait
, чтобы изменить выходной формат. Это просто напечатает имена файлов, когда файлы закрываются, а не тип события:
inotifywait -eclose_write -m --format "%w%f" -q /path/to/target/dir
Кажется, он не поддерживает escape-символы в стиле C ( \ 0
) и настаивает на печати новой строки в конце каждого события, поэтому я надеюсь, что у вас нет имен файлов с символами новой строки.
Из man parallel
:
ПРИМЕР: GNU Parallel как процессор каталога
Если у вас есть каталог, в который пользователи помещают файлы, которые необходимо обработать, вы можете сделать это в GNU/Linux ( Если вы знаете, как inotifywait вызывается на других платформах, отправьте отчет об ошибке):
inotifywait -qmre MOVED_TO -e CLOSE_WRITE --format %w%f my_dir |\ параллельно -у эхо
Это запустит команду echo для каждого файла, помещенного в my_dir или подкаталоги my_dir.
Конечно, вы можете использовать -S для распределения заданий на удаленные компьютеры:
inotifywait -qmre MOVED_TO -e CLOSE_WRITE --format %w%f my_dir |\ параллельный -S.. -u эхо
Звучит довольно близко к тому, что вы надеетесь сделать.
Чтобы изучить GNU Parallel, следуйте "Руководству для читателей" в начале "man parallel".