Est-il possible de remplacer les occurrences d'une séquence de caractères de manière récursive sans recommencer sur la même séquence?
En effectuant un sed
comme dans les scénarios suivants, je peux obtenir la sortie mentionnée.
$ 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
Cependant, je m'attends à ce que la sortie suive le comportement suivant.
Contribution:
XX
XXX
XXXX
Production attendue:
XoX
XoXoX
XoXoXoX
Est-il possible d'atteindre le comportement attendu avec sed seul?
X
et rien d'autre. Les deux solutions échouent si d'autres personnages sont présents ...X
par.
. Veuillez voir modifier.J'ai vérifié s'il y avait une sorte de drapeau pour que cela se produise.
Même si ce comportement existait, il consommera beaucoup de ressources.
Cependant, dans ce cas d'utilisation particulier, il est possible d'avoir l'expression deux fois seulement et d'obtenir la fonctionnalité requise. c'est-à-dire avec 2
sed
expressions répétitives .la source