Sed

From the Linux and Unix Users Group at Virginia Teck Wiki
Revision as of 02:52, 24 December 2009 by imported>Cov (Created page with ''''Sed''' is an extremely handy commandline *nix tool. Refer to its manual page for a more extensive overview of its capabilities. =Uses= ==Substitution== The most popular comma…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Sed is an extremely handy commandline *nix tool. Refer to its manual page for a more extensive overview of its capabilities.

Uses

Substitution

The most popular command of sed is the s command for substitution. To use the command, type an s followed by a delimiting character followed by a regular expression to find followed by the delimiting character followed by an expression with which to replace what was found followed by a final delimiting character. (/ is the conventional delimiting character and potentially required by some versions of sed. GNU sed can take any character however, and when URLs or paths are involved, % is often a handy choice to lessen the amount of escaping required.)

$ echo "Never let schooling interfere with your education." | sed 's/schooling/video games/'
Never let video games interfere with your education.

Groups can be useful in the replacement portion. Use the -r flag if you don't want to escape the initial grouping parenthesis. The -e flag allows for multiple expressions to be evaluated.

$ echo "Never let schooling interfere with your education." | sed -re 's/(schooling)/costly \1/' -e 's/(education)/invaluable \1/'
Never let costly schooling interfere with your invaluable education.

Examples