Como canalizar a saída da cauda -F no OS X?

3

Eu recentemente mudei do Ubuntu para o OS X e estou achando que o comando 'tail' se comporta de maneira diferente.

No Ubuntu eu posso rodar

tail -f xyzzy.log | espeak

(Para que o computador me leia o que está acontecendo no IRC, por exemplo)

No entanto, no OS X

tail -F xyzzy.log | say

(que eu esperava ser equivalente) não produz nenhum resultado.

Presumivelmente, isso ocorre porque o pipe deseja enviar a saída completa da cauda, mas como a cauda está em constante funcionamento (com -f), ela nunca chega ao final do processo e, portanto, a saída nunca é passada para ser informada. Honestamente, se eu estou entendendo isso corretamente, esse comportamento faz mais sentido do que o comportamento que eu tive no Ubuntu - é apenas menos útil.

Existe outra maneira de obter o mesmo resultado? (E minhas presunções sobre por que isso está acontecendo corretamente?)

    
por Nick Loewen 27.04.2012 / 23:54

1 resposta

5

Veja link que sugere

 tail -f xyzzy.log | while read line ; do echo $line | say ; done
    
por 28.04.2012 / 00:45