32

How do you delete all lines in a file that begin with "string" in sh? I was thinking about using the sed command.

t3hcakeman
  • 2,289
  • 4
  • 25
  • 27

4 Answers4

37
grep -v '^string' yourfile.txt > stripped.txt
Marc B
  • 356,200
  • 43
  • 426
  • 500
36

To do it in place, if your sed supports the -i option, you can do:

sed -i '/^string/d' input-file
William Pursell
  • 204,365
  • 48
  • 270
  • 300
3

sed and grep in your answers are missing their friend awk:

awk '!/^string/' inputfile > resultfile
Kent
  • 189,393
  • 32
  • 233
  • 301
1

You can use Vim in Ex mode:

ex -sc g/^string/d -cx file
  1. g select all matching lines

  2. d delete

  3. x save and close

Zombo
  • 1
  • 62
  • 391
  • 407