inotifywait exclui tipos de arquivos

1

Estou usando inotifywait em um script e imaginando se existe uma maneira de excluir arquivos ocultos de serem assistidos?

Não consigo determinar o padrão de expressão regular para excluir arquivos ocultos.

    
por Zimmy 29.05.2018 / 12:39

1 resposta

2

Eu assumo que você quer dizer nomes de arquivos que começam com um ponto ( . ), você pode ignorá-los. A coisa com inotifywait --exclude é que o padrão parece ser comparado com o caminho completo do arquivo, então você precisa levar isso em conta.

Portanto, se você der inotifywait dos diretórios foo e bar para assistir, os padrões serão comparados com nomes de arquivos como foo/something , bar/somethingelse . Como de costume nos regexes, você precisa escapar do ponto.

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

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

Ou, menos especificamente, exclua dotfiles em quaisquer diretórios, procurando a combinação de uma barra e um ponto:

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

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

    
por 29.05.2018 / 13:07