¿Cómo canalizar la salida de tail -F en OS X?

¿Cómo canalizar la salida de tail -F en OS X?

Recientemente me mudé de Ubuntu a OS X y descubrí que el comando 'cola' se comporta de manera diferente.

En Ubuntu podría ejecutar

tail -f xyzzy.log | espeak

(Para que la computadora me lea lo que está sucediendo en IRC, por ejemplo).

Sin embargo, en OS X

tail -F xyzzy.log | say

(que esperaba que fuera equivalente) no produce ningún resultado.

Presumiblemente, esto se debe a que la tubería quiere enviar la salida completa de tail to say, pero como tail se ejecuta constantemente (con -f), nunca llega al final del proceso y, por lo tanto, la salida nunca pasa a say. Honestamente, si entiendo bien esto, este comportamiento tiene más sentido que el comportamiento que tenía en Ubuntu; simplemente es menos útil.

Entonces, ¿hay otra manera de lograr el mismo resultado? (¿Y son correctas mis suposiciones sobre por qué sucede esto?)

Respuesta1

Verhttps://apple.stackexchange.com/questions/9673/how-to-correctly-pipe-output-into-say-in-terminallo que sugiere

 tail -f xyzzy.log | while read line ; do echo $line | say ; done

información relacionada