bash delete a line from a file, permanently

Viewed 20187

I have the following code for finding a string in a file then delete the line which contains that string.

echo `sed  /$string/d  file.txt` > file.txt

the problem is that if initially file.txt contains:

a
b
c

after deleting "a" (string=a) file.txt will become

b c

instead of

b
c

can any one help me?

4 Answers
Related