Hi I wanna keep looking at a log file, but I also don't wanna see irrelevant stuff, I'm only interested in anything with "foobar" in it.

So if I was tailing the file I would do

 tail file | grep "foobar"

Now that I'm adding the -f option, is there a way to somehow only show the stuff that I want? using grep or other technique?

link|improve this question

1  
It appears your answer is already written here: stackoverflow.com/questions/5427483/… – uSlackr Jan 9 at 16:58
1  
It appears that xyr answer is in the question. – JdeBP Jan 9 at 17:02
feedback

1 Answer

up vote 1 down vote accepted

You almost wrote the answer, which is :

tail -f file.log | grep "foobar"

That's it.

link|improve this answer
Woah, you are right, I think I didn't expect this to work, I still don't, isn't piping supposed to happen when a command has finished execution? I guess this shows that it's not, it happens every time there an output, right? – user893730 Jan 9 at 21:15
No it will launch the two programs in parallel, and the second one (grep) will exit as soon as tail's STDOUT closes. That's the whole point of pipes, data streaming :) – Ravachol Jan 10 at 9:57
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.