Alterar último caractere em sequências encontradas

0

Eu quero alterar cada primeiro / no lado \ukindex em ! .

Por exemplo \ukindex{duality/weak|)}% se torna \ukindex{duality!weak|)}% .

Eu posso encontrar todas essas ocorrências com grep linear-programming.tex -e '\ukindex{[^/^}]\+/' .

Mas eu não sei como escrever sed correspondente para isso. Isso não funciona:

 sed -i 's/\ukindex{[^/^}]\+//\ukindex{[^/^}]\+!/g' 
    
por Yola 15.09.2016 / 06:35

1 resposta

1

Então, funciona assim

sed -i 's/\(\ukindex{[^/^}]\+\)\//!/g'
  • () na primeira parte define grupos (cadeias de fato) que podem ser reutilizados na segunda parte
  • na segunda parte são referências ao primeiro grupo capturado na primeira parte
por 15.09.2016 / 06:58

Tags