NewLine / Zeilenumbruch bei substitute im vi Editor

Heute stand ich vor dem Problem, mehr als 500 Zeilen in einer Datei auf Solaris durch suchen/ersetzen zu modifizieren und zwar über mehrere neue Zeilen.
Die Zeile
sub_source = „trapMibPrefix“ ;
sollte verändert und durch weitere Zeilen ergänzt werden zu
sub_source = „snmp_device“ ;
sub_origin = $SOURCE_ADDR ;
hostname = $SOURCE_ADDR ;

Soweit so gut. Substituieren im vi geht mit
1,$s/dies/das/g
bedeutet:
1,$ …… alle Zeilen von 1. Zeile bis Ende
s ………. substituieren
/dies/ …. String „dies“
/das/ ….. durch String „das“ ersetzen
g ……… global – also überall wo der Suchstring auftritt

Problem: Wie bekomme ich den Zeilen-Umbruch (NewLine) in vi bei der Substitution hin?
Lösung: „Ctrl + V“ und “Ctrl + M“
d.h. die Kommandozeile in unserem obigen Beispiel ist:

1,$s/ sub_source = „trapMibPrefix“ ;/ sub_source = „colt_adva“ ;^M sub_origin = $SOURCE_ADDR ;^M hostname = $SOURCE_ADDR ;/g

Bei „Ctrl + V“ erscheint das Zeichen ^ und nach “Ctrl + M“ kommt M dazu, man sieht insgesamt nur ^M


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert