Difference between revisions of "Sed"
From Linuxintro
imported>ThorstenStaerk |
imported>ThorstenStaerk |
||
Line 14: | Line 14: | ||
* Replace several newlines by one | * Replace several newlines by one | ||
sed 's/\ \{1,\}/\ /g' | sed 's/\ \{1,\}/\ /g' | ||
+ | * change the protocol for a given port in /etc/services: | ||
+ | sed -ri "s/.{16}3200/sapdp00 3200/" /etc/services | ||
= Limitations = | = Limitations = |
Revision as of 12:05, 30 November 2012
sed is a command to edit a text stream in batch mode.
For example,
sed "s/a/o/"
Will read your input (stream) from the keyboard and substitute every a by an o.
Usecases
- Remove leading white space
sed 's/^[ \t]*//'
- Replace strings
sed -e "s/cgi?\([0-9][0-9]*\)/cgi@\1.html/g" myfile.html > index.html
- Insert a line a beginning of file
sed -i '1i <This is now at the first line>' <filename>
- Replace several newlines by one
sed 's/\ \{1,\}/\ /g'
- change the protocol for a given port in /etc/services:
sed -ri "s/.{16}3200/sapdp00 3200/" /etc/services
Limitations
You cannot use sed to delete linebreaks, for this you must use tr.