mit dem VI Zeilen mit variablen Inhalt suchen und ersetzen

Wenn man mit dem VI in einer Datei Variablen Inhalt ersetzen will, dann kann man das mit RegExp ganz gut hinbekommen.

z.B.:

Eine Datei mit folgendem Inhalt

abc1234567890xyz
abc0987654321xyz
aaa1234567890xyz
abc0987654321xxx

soll ersetzt werden mit folgendem Inhalt

cba1234567890zyx
cba0987654321zyx
aaa1234567890xyz
abc0987654321xxx

dann ist dafür die suchen und ersetzen Funktion des vi mit entsprechenden RegularExpressions zu füllen:

:%s/abc\(.*\)xyz/cba\1zyx/g

Relevant ist im Suchstring die in auskommentierte runde Klammern gesetzte RegExp. Diese wird im Ersetzstring mit der auskommentierten 1 wieder eingefügt. Sollte es mehrere variable Bereiche geben, so werden die Strings durchnummeriert (1, 2 … n).

Dieses funktioniert so natürlich auch mit dem sed:

sed 's/abc\(.*\)xyz/cba\1zyx/g' [DATEI]

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.