Czy można rekurencyjnie zastępować wystąpienia sekwencji znaków bez powtarzania tej samej sekwencji?
Wykonując sed
jak w poniższych scenariuszach, mogę uzyskać wspomniane dane wyjściowe.
$ 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
Jednak oczekuję, że dane wyjściowe będą wyglądać następująco.
Wejście:
XX
XXX
XXXX
Oczekiwany wynik:
XoX
XoXoX
XoXoXoX
Czy możliwe jest osiągnięcie oczekiwanego zachowania przy pomocy samego seda?
X
i nic więcej. Oba rozwiązania zawodzą, jeśli obecne są inne postacie ...