Eu já vi essa resposta .
Você deve considerar o uso de inotifywait, como um exemplo:
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
Minha pergunta é que, o script acima observa um diretório para criação de arquivos de qualquer tipo, mas como modifico o inotifywait
comando para reportar apenas quando um arquivo de determinado tipo / extensão é criado (ou movido para o diretório) - por exemplo, deve relatório quando qualquer .xml
arquivo é criado.
O QUE TENTEI:
Eu executei o inotifywait --help
comando e li as opções da linha de comando. Possui --exclude <pattern>
e --excludei <pattern>
comandos para EXCLUIR arquivos de certos tipos (usando regEx), mas eu preciso de uma maneira de INCLUIR apenas os arquivos de um determinado tipo / extensão.
path
acima provavelmente não é o melhor nome de variável se você quiser brincar com isso primeiro em um shell. Se você usá-lo, não poderá usar comandos e tudo mais, pois isso basicamente substituiu o padrãoPATH
. Por isso, recomendo usar um nome de var alternativo, como emfpath
vez disso. ou sejawhile read fpath action file
, qualquer comando padrão normalmente disponível no seu shell ainda será.