sed erro: “\ 1 não definido no RE” no OS X

1

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?

    
por Erwann 15.07.2016 / 00:52

1 resposta

6

Em -E , você precisa usar parênteses sem aspas para criar um grupo de captura.

sed -E 's:(foo):():'
    
por 15.07.2016 / 00:58

Tags