É possível substituir as ocorrências de uma sequência de caracteres recursivamente sem repetir a mesma sequência?
Ao executar um sed
como nos seguintes cenários, posso obter a saída mencionada.
$ echo XX | sed -e 's/XX/XoX/g'
XoX
$ echo XXX | sed -e 's/XX/XoX/g'
XoXX
$ echo XXXX | sed -e 's/XX/XoX/g'
XoXXoX
No entanto, espero que a saída siga o seguinte comportamento.
Entrada:
XX
XXX
XXXX
Saída esperada:
XoX
XoXoX
XoXoXoX
É possível alcançar o comportamento esperado com o sed sozinho?
X
e nada mais. Ambas as soluções falham se houver outros caracteres presentes ...X
por.
. Por favor, veja editar.Eu verifiquei se existe algum tipo de bandeira para fazer isso acontecer.
Mesmo que esse comportamento existisse, ele consumiria muito recursos.
No entanto, nesse caso de uso específico, é possível ter a expressão apenas duas vezes e obter a funcionalidade necessária. ou seja, com 2
sed
expressões repetidas .fonte