sed Ersetzen Sie nur Zeilen durch übereinstimmende Gruppen


7

Derzeit habe ich diesen Befehl:

sed 's/\([^C]*\)/\1AB/'

Es fügt "AB" vor der ersten Instanz von "C" in eine Zeile ein. Es wird aber auch "AB" am Ende jeder Zeile ohne "C" hinzugefügt.

Wie kann ich es nur bearbeiten lassen, wenn es "C" findet?

Antworten:


5

Was ist falsch daran, das einfach zu ersetzen C?

sed 's/C/ABC/'

Dies ersetzt nur die erste Instanz (wenn Sie alle ersetzen möchten, fügen Sie sie gam Ende hinzu).


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.