Sed

From Linuxintro
Revision as of 05:14, 4 October 2010 by imported>ThorstenStaerk

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'

Limitations

You cannot use sed to delete linebreaks, for this you must use tr.

See also