Name
sed
sed '[address1][,address2]s/pattern/replacement/[flags]'filessed -fscript files
By default, sed applies the substitution to every line in files. Each address can be either a line number, or a regular expression pattern. A supplied regular expression must be defined within the forward slash delimiters (/ . . . /).
If address1 is supplied, substitution will begin on that line number, or the first matching line, and continue until either the end of the file, or the line indicated or matched by address2. Two subsequences, & and \n, will be interpreted in replacement based on the match results.
The sequence & is replaced with the text matched by pattern. The sequence \n corresponds to a capture group (1 . . . 9) in the current match. Here are the available flags:
nSubstitute the
nth match in a line, wherenis between 1 and 512.gSubstitute all occurrences of
patternin a line.pPrint lines with successful substitutions.
wfileWrite lines with successful substitutions to
file.
Example
Change date formats from MM/DD/YYYY to DD.MM.YYYY.
$ echo 12/30/1969' |
sed 's!\([0-9][0-9]\)/\([0-9][0-9]\)/\([0-9]\{2,4\}\)!
\2.\1.\3!g'