Em -E
, você precisa usar parênteses sem aspas para criar um grupo de captura.
sed -E 's:(foo):():'
Estou usando OS X 10.10.5
e quando experimentei os seguintes comandos:
$ ls foo*
foo123bar.pdf
$ for f in foo*; do echo "$f" | sed -E 's:foo:bar:';done
bar123bar.pdf
$ for f in foo*; do echo "$f" | sed -E 's:foo:(&):';done
(foo)123bar.pdf
$ for f in foo*; do echo "$f" | sed -E 's:\(foo\):():';done
sed: 1: "s:foo:():": not defined in the RE
Recebi um erro.
Minha pergunta é: como remediar o erro produzido pelo último comando acima?