Ich versuche, diese beiden als Gruppen zu erfassen: (.*}
und [.*]
daraus:Kann nicht mehrere Gruppen erfassen
blahBLACK(+){+}tao[,Tom]101111foo
so möchte ich (+){+}
und [,Tom]
jeweils eine Gruppe sein.
ich das versucht:
echo "blahBLACK(+){+}tao[,Tom]101111foo" | sed -E 's/(\[.*\]) (\(.*})/\2\1---/'
Aber es gibt nur die gesamte Linie blahBLACK(+){+}tao[,Tom]101111foo
ohne etwas zu ändern, es funktioniert nur für eine Gruppe, nur wenn ich sed -E 's/(\[.*\])/\1---/'
zum Beispiel tun, dann kann ich sehen, dass es etwas tut, :
blahBLACK(+){+}tao[,Tom]---101111foo
Aber der Ausgang ich das will, ist, für verschiedene Gruppen:
[,Tom](+){+}---blahBLACKtao101111foo
Warum macht es nicht zwei Gruppen und wie bekomme ich die gewünschte Ausgabe?
BEARBEITEN: Ich muss sed verwenden, um dies leider zu lösen.
Vielleicht ist die '' bash' und shell' Tags aus dieser gelöscht werden sollen, wenn eine akzeptable Antwort nur 'sed' verwenden kann . – ghoti