unbuffer - unbuffer output
unbuffer program [ args ]
UNBUFFER(1) General Commands Manual UNBUFFER(1) NAME unbuffer - unbuffer output SYNOPSIS unbuffer program [ args ] INTRODUCTION unbuffer disables the output buffering that occurs when program output is redirected from non-interactive programs. For example, suppose you are watching the output from a fifo by running it through od and then more. od -c /tmp/fifo | more You will not see anything until a full page of output has been pro- duced. You can disable this automatic buffering as follows: unbuffer od -c /tmp/fifo | more Normally, unbuffer does not read from stdin. This simplifies use of unbuffer in some situations. To use unbuffer in a pipeline, use the -p flag. Example: process1 | unbuffer -p process2 | process3 CAVEATS unbuffer -p may appear to work incorrectly if a process feeding input to unbuffer exits. Consider: process1 | unbuffer -p process2 | process3 If process1 exits, process2 may not yet have finished. It is impossi- ble for unbuffer to know long to wait for process2 and process2 may not ever finish, for example, if it is a filter. For expediency, unbuffer simply exits when it encounters an EOF from either its input or process2. In order to have a version of unbuffer that worked in all situations, an oracle would be necessary. If you want an application-specific solution, workarounds or hand-coded Expect may be more suitable. For example, the following example shows how to allow grep to finish pro- cessing when the cat before it finishes first. Using cat to feed grep would never require unbuffer in real life. It is merely a placeholder for some imaginary process that may or may not finish. Similarly, the final cat at the end of the pipeline is also a placeholder for another process. $ cat /tmp/abcdef.log | grep abc | cat abcdef xxxabc defxxx $ cat /tmp/abcdef.log | unbuffer grep abc | cat $ (cat /tmp/abcdef.log ; sleep 1) | unbuffer grep abc | cat abcdef xxxabc defxxx $ BUGS The man page is longer than the program. ATTRIBUTES See attributes(7) for descriptions of the following attributes: +---------------+------------------+ |ATTRIBUTE TYPE | ATTRIBUTE VALUE | +---------------+------------------+ |Availability | shell/expect | +---------------+------------------+ |Stability | Uncommitted | +---------------+------------------+ SEE ALSO "Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Pro- grams" by Don Libes, O'Reilly and Associates, January 1995. AUTHOR Don Libes, National Institute of Standards and Technology NOTES This software was built from source available at https://github.com/oracle/solaris-userland. The original community source was downloaded from https://source- forge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download Further information about this software can be found on the open source community website at https://core.tcl.tk/expect/. 1 June 1994 UNBUFFER(1)