[Sed] Delete one or more lines from a file Here is how to remove one or more lines from a file. Syntax: sed '{[/]| | [/]}d' sed '{[/] [, ][/]d' /.../=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
0 people found this article useful
0 people found this article useful