inotifywait exclui tipos de arquivo

inotifywait exclui tipos de arquivo

Estou usando inotifywait em um script e me pergunto se existe uma maneira de impedir que arquivos ocultos sejam monitorados?

Não consigo determinar o padrão regex para excluir arquivos ocultos.

Responder1

Presumo que você queira dizer nomes de arquivos que começam com um ponto ( .), você pode ignorá-los. O problema inotifywait --excludeé que o padrão parece corresponder ao caminho completo do arquivo, então você precisará levar isso em consideração.

Então, se você fornecer inotifywaitos diretórios fooe barobservar, os padrões corresponderão aos nomes de arquivos como foo/something, bar/somethingelse. Como de costume em regexes, você precisa escapar do ponto.

Isso deve observar todas as criações no diretório atual, exceto dotfiles (é um regex, então precisamos escapar dos pontos):

inotifywait -ecreate -m --exclude '^\./\.' .

Ou, menos especificamente, exclua dotfiles em qualquer diretório, procurando a combinação de barra e ponto:

inotifywait -ecreate -m --exclude '/\.' foo bar

Isso, é claro, não funcionará se você estiver observando um diretório com um ponto inicial em alguma parte do caminho; corresponderá a tudo nesse caminho.

informação relacionada