backreference sed

0

Eu gostaria de capturar como backreference algo assim.

Exemplo:

(a-z)

Mas de alguma forma, qualquer coisa que eu tentei, não funcionou

Eu tento isso:

\(([a-z])\)\ or \('('[a-z]')'\)\
    
por Mafi 06.04.2016 / 18:55

2 respostas

0
>> echo "(f)" | sed 's/\(([a-z])\)/xx/'
x(f)x

\(([a-z])\) é o que você quer.

    
por 06.04.2016 / 19:28
0
neko@takinolap : ~/test/sed
[0] % cat test.txt| sed -n '/([a-z])/p' 
this l(i)ne

neko@takinolap : ~/test/sed
[0] % cat test.txt
not this line
this l(i)ne

() são símbolos. \(\) é seletor, por exemplo:

cat test.txt| sed -n 's/.*\(([a-z])\).*//p'
(i)

\(\) coloca qualquer coisa entre uma variável numerada (por linha).

    
por 06.04.2016 / 19:26

Tags