Using back references to append text to each line
To appending the string EXTRA TEXT
to each line
sed -e 's/\(.*\)/\1EXTRA TEXT/'
Note the backslash before the brackets.
\1
is the back reference to the first group (only 1 group in this case, which has matched the whole line).
Delete all occurrences of 4 consecutive digits
sed -e 's/[0-9]\{4\}//g'
Switch or swap 2 words around
sed -e 's/\(.*\)\s\(.*\)/\2 \1/'
Extended regular expressions
Use the -r
switch to turn on extended regular expression. This allows you to use symbols such as
?
for zero or one match.
$ echo abcd | sed -e 's/ab?//'
abcd
$ echo abcd | sed -r -e 's/ab?//'
cd