Como posso executar "tail -f" em todos os arquivos de log no diretório atual - exceto um?

Como posso executar "tail -f" em todos os arquivos de log no diretório atual - exceto um?

Como parte de minhas tarefas diárias de desenvolvimento (em um Mac executando o OS 10.12.3), executo tail -f *minha pasta de log no Terminal. A pasta contém cerca de 15 arquivos diferentes. Como posso alterar este comando para monitorar alterações emtodos os arquivos menos umde *? Suponha que o único arquivo do qual gostaria de excluir *seja chamado Repetitive.log.

Desculpas pela pergunta básica, procurei por ela e não vi uma duplicata. Repostado dehttps://stackoverflow.com/questions/42815599/exclude-files-from-the-catchall-symbol

Responder1

Se você estiver usando bashcomo shell, defina a variável de ambiente GLOBIGNOREcomo uma lista de padrões separados por dois pontos que você desejanãocombinar quando o shell está globbing,por exemplo

$ export GLOBIGNORE=Repetitive.log
$ export GLOBIGNORE=somefile:anotherfile:abc*

De man bash:

   GLOBIGNORE
          A colon-separated list of  patterns  defining  the  set  of
          filenames  to be ignored by pathname expansion.  If a file-
          name matched by a pathname expansion pattern  also  matches
          one  of  the patterns in GLOBIGNORE, it is removed from the
          list of matches.

Responder2

xargsé seu amigo! Se não, findtambém pode ajudar.

Aqui estão quatro abordagens, usando xargsou find ... -execcorrespondência de padrões estendida:

Use xargsvia lsegrep

ls | grep -v Repetitive.log | xargs tail -f

Usar xargsatravésfind

find . -maxdepth 1 ! -name Repetitive.log | xargs tail -f

Use findcom -execargumento

find . -maxdepth 1 ! -name Repetitive.log -exec tail -f {} \;

Use correspondência de padrões estendida embash

Ótima resposta, tirada dehttps://stackoverflow.com/a/19429723/1862762.

shopt -s extglob
tail -f /directory/of/logfiles/!(Repetitive.log)

Observação

Para esta tarefa, eu preferiria o xargscaminho, pois fornece saída tailmarcada com os respectivos nomes de arquivo. Usar lse grepparece mais intuitivo e fácil de lembrar.

informação relacionada