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] |
Neueste Kommentare