With the last update of our SuSE Enterprise Linux 11 (now bash 3.2.51(1)-release), the command "tail" seems to have lost its option to stream files:
tail: unrecognized option '--line-buffered'
Our tail is from "GNU coreutils 8.12, March 2013". Is there another, equivalent solution?
As far as can be told by simple googling, tail
doesn't appear to have a --line-buffered
option, grep
does. --line-buffered
is useful to force line buffering even when writing to a non-TTY, a typical idiom being:
tail -f FILE | grep --line-buffered REGEXP > output
Here the point of --line-buffered
is to prevent grep
from buffering output in 8K chunks and forcing the matched lines to immediately appear in the output file.
tail -f
is unbuffered regardless of output type, so it doesn't need a --line-buffered
option equivalent to the one in grep
. This can be verified by running tail -f somefile | cat
and appending a line to the file from another shell. One observes that, despite its standard output being a pipe, tail
immediately flushes the newly arrived line.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With