How comfortable would that be, if we ever have to Insert, Update, or Delete any line from a file without opening?
A few times, we are in a situation, where we had to get rid of a few lines or Insert a few lines in the file.
For the given purpose, we will be using Linux sed
command line utility app.
For Inserting or Updating any Data in a specific line
Syntax:
sed -i 'Ni CONTENT_HERE' filename
here N
represents line number, i
represents insert and CONTENT_HERE
would be your actual content, filename
will be the filename where you want to insert data
Example
sed -i '10i WorldOfHacker back in 2010 was one of the largest hacking communities in India and across the world' worldofhacker.txt
The above command will insert the WorldOfHacker back in 2010 was one of the largest hacking communities in India and across the world
text on the 10th line of the worldofhacker.txt
file.
You can try your own homework for various other lines
For Deleting any Data in a specific line
Syntax:
sed `Nd` filename
here, N
represents as usual line number d
represents the delete
action and filename
is your filename where you want to delete the N
line number.
Example:
sed '10d' worldofhacker.txt
The above command will delete the 10th line from the file worldofhacker.txt
For Deleting any Data in the Last line
Syntax:
sed `$d` filename
here, $
represents the last line number d
represents the delete
action and filename
is your filename where you want to delete the N
line number.
Example:
sed '$d' worldofhacker.txt
The above command will delete the last line from the file worldofhacker.txt
For Deleting any Data based on a range of lines
Syntax:
sed `S,Ed` filename
here, S
represents the first starting line number and E
represents the last or end line number d
represents the delete
action and filename
is your filename where you want to delete the range of line contents.
Example:
sed '4,7d' worldofhacker.txt
The above command will delete the line from the 4th index up to the 7th index of the file worldofhacker.txt
For Deleting multiple lines from Data
Syntax:
sed `Nd;Pd;Od;` filename
here, N
, P
, and O
represent various line numbers, d
represents the delete
action and filename
is your filename where you want to delete the range of line contents.
Example:
sed '4d;7d;10d' worldofhacker.txt
The above command will delete the line from the 4th index, 7th index, and 10th index of the file worldofhacker.txt
For Deleting multiple ranges of Reverse conditional Data
Syntax:
sed `N,P!d` filename
here, N
, and P
represent various line numbers, !d
represents the delete
action except for these lines, and filename
is your filename where you want to delete the range of line contents except N-P
.
Example:
sed '4,10d' worldofhacker.txt
The above command will delete the other line except for the 4th index to the 10th index of the file worldofhacker.txt
Hope this crazy method helps you save time. You can do more about them just do man sed
and you will find why Linux is Love!