[vox-tech] Idea for 'tee' -- shut up already!

Harold Lee harold at hotelling.net
Sat Dec 4 11:50:09 PST 2010


Nick hack!

I like to do this:

    cat hugefile.log | grep whatever | cut -f 1,2,3 > output.txt &
    tail -f output.txt

You'll get the same effect, but when you hit Control-c you'll just
kill the tail command. The pipeline building output.txt keeps running
in the background. But if you end up viewing the entire output, tail
won't tell you when the pipeline exits, it'll just sit there waiting
for some other process to append to output.txt - you have to exit the
tail command. Great for log files, e.g.:

    tail -f access.log | grep Safari

When experimenting to find the right parameters for grep/egrep/cut, I
usually use |more or |less to preview the grep/cut operation and then
re-run with |tee. But after you asked this, I went looking and sure
enough, less has a command for this. From the man page:

s filename

  Save the  input to  a file. This only works if the input is a
  pipe, not an ordinary file.

So you'd run

    cat hugefile.log | grep whatever | cut -f 1,2,3 | less

Check the output, then type "s" and "output.txt" when you want to stop
viewing it.

Harold

On Fri, Dec 3, 2010 at 4:41 PM, Brian Lavender <brian at brie.com> wrote:
>
> On Fri, Dec 03, 2010 at 02:13:15PM -0800, Bill Kendrick wrote:
> >
> > So I'm grepping & cut'ing a huge log file (6.4 million lines)
> > and made the mistake of deciding to pipe it through "tee" to
> > watch for a while.  I forgot to do this from within a "screen"
> > session, so I'm kind of stuck staring at it in a terminal.  *sigh* :)
> >
> > I don't want to watch any more, and wish I could do something like,
> > I dunno maybe like this...?
> >
> >
> >   $ cat hugefile.log | grep whatever | cut -f 1,2,3 | tee output.txt
> >   {huge dump of data}
>
> Signal handler perhaps in a shell script that toggles output to stdout?
> http://linuxcommand.org/wss0160.php
>
>
> --
> Brian Lavender
> http://www.brie.com/brian/
>
> "Program testing can be used to show the presence of bugs, but never to
> show their absence!"
>
> Professor Edsger Dijkstra
> 1972 Turing award recipient
> _______________________________________________
> vox-tech mailing list
> vox-tech at lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech


More information about the vox-tech mailing list