Angenommen, ich habe eine 'abbc'-Zeichenfolge und möchte Folgendes ersetzen:
- ab -> bc
- bc -> ab
Wenn ich zwei Ersetzungen versuche, ist das Ergebnis nicht das, was ich will:
echo 'abbc' | sed 's/ab/bc/g;s/bc/ab/g'
abab
Welchen sed-Befehl kann ich also wie unten beschrieben ersetzen?
echo abbc | sed SED_COMMAND
bcab
BEARBEITEN : Eigentlich könnte der Text mehr als 2 Muster haben und ich weiß nicht, wie viele Ersetzungen ich benötigen werde. Da es eine Antwort gab, die besagt, dass sed
es sich um einen Stream-Editor handelt und seine Ersetzungen gierig sind, denke ich, dass ich dafür eine Skriptsprache verwenden muss.
ab
oder bc
in der ursprünglichen Eingabe.
g
Flag von diesen beidens///
Befehlen fallen und das wird funktionieren.