É possível seguir um comando (executado repetidamente)? como se seguiria um arquivo usando tail -f?

9

Eu tenho um script que produz um arquivo 'Detail.out'. Eu sei que o script é concluído sempre que o arquivo contém um certo número de linhas (aproximadamente 21025). Então eu me encontro sentado no prompt de comando em execução:

[me@somewhere myDir]$ wc -l */Detail.out
  21025 A/Detail.out
  21025 B/Detail.out
  21025 C/Detail.out
  12995 D/Detail.out
  10652 E/Detail.out
   3481 F/Detail.out
  21027 G/Detail.out
  21025 H/Detail.out
  21025 I/Detail.out
  ...   ...

Eu usei tail -f para assistir a um arquivo específico, mas gostaria de seguir a saída do comando wc -l */Detail.out mostrado acima. Isso é possível? No momento, estou usando tcsh no Ubuntu 11.04, se isso for importante.

    
por M. Tibbits 05.07.2011 / 05:54

2 respostas

17

Experimente o comando watch , embora eu suspeite que quase todos tenham escrito sua própria versão de uma vez ou outra. (A versão mais barata é while :; do clear; "$@"; sleep 5; done .)

    
por 05.07.2011 / 05:56
0

Não tenho certeza se você sabe disso, mas também pode redirecionar a saída de um programa para um arquivo. Veja link Assim, outra maneira pode ser simplesmente redirecionar a saída para um arquivo e, em seguida, use esse arquivo como você já está acostumado a fazer.

$ find . -name "Detail.out" | xargs wc -l >> detail-out-list.txt

E em outro terminal você pode executar $ tail -f detail-out-list.txt como está acostumado.

Como Celeb observou que deixa algum arquivo em torno do qual você pode querer (para inspecionar mais esse arquivo ou ter algum histórico) ou não e nada é executado periodicamente como watch faz por você.

    
por 05.07.2011 / 07:19