Ask a question »

Sed - Delete one or more lines from a file

August 2015

Unix utility SED provides an effective and a versatile way of deleting one or more lines from a designated file to match the needs of the user. This Unix command is used for command line processing. This utility can be used to delete expressions from a file which can be identified by a specifying delimiter (like comma, tab, space, etc.), by line number, by searching for a string, expression or the address of a line in the syntax of SED.

[Sed] Delete one or more lines from a file






Here is how to remove one or more lines from a file.


Syntax:


sed '{[/]<n>|<string>|<regex>[/]}d' <fileName>       
sed '{[/]<adr1>[,<adr2>][/]d' <fileName>
  • /.../=delimiters
  • n = line number
  • string = string found in in line
  • regex = regular expression corresponding to the searched pattern
  • addr = address of a line (number or pattern )
  • d = delete


Examples

Remove the 3rd line:

sed '3d' fileName.txt


Remove the line containing the string "awk":

sed '/awk/d' filename.txt


Remove the last line:

sed '$d' filename.txt



Remove all empty lines:

sed '/^$/d' filename.txt       
sed '/./!d' filename.txt


Remove the line matching by a regular expression (by eliminating one containing digital characters, at least 1 digit, located at the end of the line):

sed '/[0-9/][0-9]*$/d' filename.txt


Remove the interval between lines 7 and 9:

sed '7,9d' filename.txt 


The same operation as above but replacing the address with parameters:

sed '/-Start/,/-End/d' filename.txt



The above examples are only changed at the display of the file (stdout1= screen).

For permanent changes to the old versions (<4) use a temporary file for GNU sed using the "-i[suffix]":

sed -i".bak" '3d' filename.txt

For unlimited offline reading, you can download this article for free in PDF format:
Sed-delete-one-or-more-lines-from-a-file.pdf

See also

In the same category

Sed – Eliminar una o varias líneas de un fichero
By Carlos-vialfa on July 29, 2009
Original article published by jipicy. Translated by jak58. - Latest update by Jeff
This document entitled « Sed - Delete one or more lines from a file » from CCM (ccm.net) is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the license, as this note appears clearly.