title: Linux: Formatting stream (pipe) output with column? (undetermined file size)
body: <p>I would like to format text content that I am getting as a stdout stream using <code>column</code>, but I fail. For instance, using a single line, all works fine: </p>
  
  <pre><code>$ echo "1 12 123 1234 1 12 123 1234 " | column -t
  1  12  123  1234  1  12  123  1234
  </code></pre>
  
  <p>.. however, if I try to simulate an "endless" stream:</p>
  
  <pre><code>$ while true; do echo "1 12 123 1234 1 12 123 1234 "; sleep 1; done | column -t
  ^C
  </code></pre>
  
  <p>... there is simply no response, until one exits with Ctrl-C. </p>
  
  <p>(Note that the <code>while</code> thing is just meant to simulate reading an endless stream from a device, as in '<code>cat /dev/ttyUSB0</code>')</p>
  
  <p>This leads me to believe that, even if <code>column</code> by default should accept standard input, it needs a "complete" and finished file (that is, with a determined file size) in order to work; and in the case of an "endless" stream, that is not the case - so it never outputs anything. </p>
  
  <p>Any suggestion on how I could achieve column formatting in this context? EDIT: Doesn't necesarily have to be the <code>column</code> program; anything else that formats text into columns would be fine (but I'm afraid, for instance <code>awk</code> also needs a complete file)... </p>
  
  <p>Thanks in advance,<br>
  Cheers! </p>