Menu Close

Sed Commands – Ranges of lines [FTC]

A Stream EDitor is used to perform basic transformations on text read from a file or a pipe. The result is sent
to standard output. The syntax for the sed command has no output file specification, but results can be saved
to a file using output redirection. The editor does not modify the original input.

Command   Result
a\        Append text below current line
c\        Change text in the current line with new text
d         Delete text
i\        Insert text above the current line
p         Print text
r         Read a file
s         Search and replace text
w         Write to a file 

This is our example text file: (FILENAME : fuckthecode)

Executed in terminal(Ubuntu)
$ cat -n fuckthecode

     1	First line fcukthecode
     2	second line fcuk the code
     3	third line fuckkk thee codee
     4	fourth line fuk the coed
     5	fifth line and fuckin yeah

Now, we want to take out the lines 2 to 4. Specify this range to address, together with the d command:
sed ‘2,4d’ filename (lines 2 to 4) (d command is for deleting text)

$ sed '2,4d' fuckthecode

First line fcukthecode
fifth line and fuckin yeah

To delete the file starting from a certain line until the end of the file, use a command similar to this:

$ sed '2,$d' fuckthecode

First line fcukthecode

Now, we want to print the lines 2 to 4. Specify this range to address, together with the p command:

$ sed -n '2,4p' fuckthecode

second line fcuk the code
third line fuckkk thee codee
fourth line fuk the coed

To print the file starting from a certain line until the end of the file, use a command $ to this:

$ sed -n '2,$p' fuckthecode

second line fcuk the code
third line fuckkk thee codee
fourth line fuk the coed
fifth line and fuckin yeah
Executed using terminal(ubuntu)