Delete specific line number(s) from a text file using sed?

If you want to delete lines 5 through 10 and 12:

sed -e '5,10d;12d' file

This will print the results to the screen. If you want to save the results to the same file:

sed -i.bak -e '5,10d;12d' file

This will back the file up to file.bak, and delete the given lines.

Note: Line numbers start at 1. The first line of the file is 1, not 0.


You can delete a particular single line with its line number by

sed -i '33d' file

This will delete the line on 33 line number and save the updated file.


and awk as well

awk 'NR!~/^(5|10|25)$/' file