Исключите каталоги из inotifywait

Выполнение inotifywait смотреть каталог, и пытающийся исключить все подкаталоги из того, чтобы быть наблюдаемым в то время как не, исключая файлы.

inotifywait -r -q --exclude <pattern> dir/

Что вставить <pattern>? Руководство для inotifywait указывает:

--exclude <pattern>
Do not process any events whose filename matches the specified POSIX extended regular expression, case sensitive.

Существует нет -type отметьте как в find. Я попробовал (^/) но это, кажется, исключает все.

Help ценится.

3
задан 3 November 2014 в 12:08

3 ответа

Начиная с --exclude опция только действует на имена файлов, нет никакого прямого способа сделать это. Вы могли попробовать окольные пути как использование find для печати названия всех каталогов:

inotifywait --exclude "echo -n (;$(find . -maxdepth 1 -mindepth 1 -type d -printf '%P|');echo )" .

Примечание, которое я не определил -r, так как это заставит недавно созданные подкаталоги наблюдаться также.

Это могло бы порвать с некоторыми специальными символами.

<час>

Вы могли также попробовать:

find . -maxdepth 1 -mindepth 1 -type d -printf '@%P\n' > list_of_directories
inotifywait --fromfile list_of_directories .

inotifywait исключит любые файлы или папки в list_of_directories, которые начинаются @ (все они делают).

<час>

, Если Вы используете inotifywait с рекурсивной опцией, позвольте find список все вложенные подкаталоги также путем удаления -maxdepth ограничение (также относится к первой команде):

find . -mindepth 1 -type d -printf '@%P\n' > list_of_directories
inotifywait --fromfile list_of_directories . -r

Эти -mindepth сохраняется для предотвращения find от соответствия ., и таким образом, исключая текущий каталог также.

5
ответ дан 17 November 2019 в 09:12

Просто используйте --exclude '/\..+'. Это игнорирует все файлы, которые запускаются с точки.

(.+ часть - то, так, чтобы она не исключала Вашу основную папку).

4
ответ дан 17 November 2019 в 09:12

inotifywait только подкаталоги проверок из-за параметра -r.
Вызов это без , что параметр и это не будут наблюдать подкаталогов.

3
ответ дан 17 November 2019 в 09:12

Другие вопросы по тегам:

Похожие вопросы: