How to delete from a text file, all lines that contain a specific string?

A Clockwork Orange picture A Clockwork Orange · Mar 23, 2011 · Viewed 1.9M times · Source

How would I use sed to delete all lines in a text file that contain a specific string?

Answer

SiegeX picture SiegeX · Mar 23, 2011

To remove the line and print the output to standard out:

sed '/pattern to match/d' ./infile

To directly modify the file – does not work with BSD sed:

sed -i '/pattern to match/d' ./infile

Same, but for BSD sed (Mac OS X and FreeBSD) – does not work with GNU sed:

sed -i '' '/pattern to match/d' ./infile

To directly modify the file (and create a backup) – works with BSD and GNU sed:

sed -i.bak '/pattern to match/d' ./infile