What bash command can be used for regex substitution on a pipe?

     cat foo.txt | someprogram
link|improve this question

68% accept rate
feedback

3 Answers

up vote 11 down vote accepted

You probably want

sed 's/exp1/exp2/g' foo.txt > foo2.txt

Read more at Sed tutorial, Another tutorial, and A small tutorial at Linux HOWTOs

link|improve this answer
sed isn't just a program, it's a way of life. – Joseph Kern Jun 15 '09 at 11:24
feedback

You can also use perl one liners if you find you want more regular expression features than sed provides. See this link for a comparison. nik's example would look like:

perl -ple 's/exp1/exp2/g' foo > foo2.txt
link|improve this answer
I recently discovered perl -pe, and it's great to have a much more powerful regex engine available :) – Rory Jan 22 '10 at 15:10
feedback

The program you are looking for is sed.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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