UNBUFFER(1)                                                        UNBUFFER(1)


       unbuffer - unbuffer output


       unbuffer program [ args ]


       unbuffer  disables the output buffering that occurs when program output
       is redirected.  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-

       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


       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  pro-

       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

       $ cat /tmp/abcdef.log | grep abc | cat
       xxxabc defxxx
       $ cat /tmp/abcdef.log | unbuffer grep abc | cat
       $ (cat /tmp/abcdef.log ; sleep 1) | unbuffer grep abc | cat
       xxxabc defxxx


       The man page is longer than the program.


       "Exploring  Expect: A Tcl-Based Toolkit for Automating Interactive Pro-
       grams" by Don Libes, O’Reilly and Associates, January 1995.


       Don Libes, National Institute of Standards and Technology

                                  1 June 1994                      UNBUFFER(1)

Man(1) output converted with man2html