Saturday, January 13, 2018

Linux Sed commnad (Replacing and Filtering )

The Linux operating system makes use of terminal commands to work with a computer's file system. The primary use of the Linux command sed, which is short for stream editor, is to modify each line of a file or stream by replacing specified parts of the line. It makes basic text changes to a file or input from a pipeline. 

For example, say you have a file named "songs.text" that contains these lines:


1, Justin Timberlake, Title 545, Price $6.30
2, Taylor Swift, Title 723, Price $7.90
3, Mick Jagger, Title 610, Price $7.90
4, Lady Gaga, Title 118, Price $6.30
5, Johnny Cash, Title 482, Price $6.50
6, Elvis Presley, Title 335, Price $6.30
7, John Lennon, Title 271, Price $7.90


Making Text Substitutions With Sed

If you want to change all price occurrences of $6.30 to $7.30, you can make the changes using the sed command in this way:


sed 's/6.30/7.30/' songs.txt > songs2.txt


This code makes the change and writes the modified file to "songs2.txt". The output file contains:


1, Justin Timberlake, Title 545, Price $7.30
2, Taylor Swift, Title 723, Price $7.90
3, Mick Jagger, Title 610, Price $7.90
4, Lady Gaga, Title 118, Price $7.30
5, Johnny Cash, Title 482, Price $6.50
6, Elvis Presley, Title 335, Price $7.30
7, John Lennon, Title 271, Price $7.90


If you want to replace all occurrences of "Cash" with "Trash" you use:


sed 's/Cash/Trash/' songs.txt > songs2.txt


which creates a file with content:


1, Justin Timberlake, Title 545, Price $7:30
2, Taylor Swift, Title 723, Price $7.90
3, Mick Jagger, Title 610, Price $7.90
4, Lady Gaga, Title 118, Price $7:30
5, Johnny Trash, Title 482, Price $6.50
6, Elvis Presley, Title 335, Price $7:30
7, John Lennon, Title 271, Price $7.90



Filtering With the Sed Command

Sed is also frequently used to filter lines in a file or stream. For example, if you only want to see the lines containing "John," you use:


sed -n '/John/p' songs.txt > johns.txt


which writes the following lines to file johns.txt:


5, Johnny Trash, Title 482, Price $6.50
7, John Lennon, Title 271, Price $7.90



https://www.lifewire.com/example-uses-of-sed-

No comments:

Post a Comment

5 Strategies for Getting More Work Done in Less Time

Summary.    You’ve got more to do than could possibly get done with your current work style. You’ve prioritized. You’ve planned. You’ve dele...