vim-/ vi- /ex-Script unter windows

pezolived

leistungsarm und schadstoffstark
Registriert
19. August 2013
Reaktionspunkte
7.131
Moin!

Gibt's hier noch alte UNIX-Kämpen, die auch in Sachen Windows ein bisschen Licht am Fahrrad haben?
Ich habe grad ein kleines Problemchen, das ich gerne mit 'nem ex-Script (ex ist das, was man bei vi und vim in der Befehlszeile bedient) lösen würde. Es geht um ein einfaches Ersetzen von Textstrings in einem ASCII-File.
In einer Datei sepp.txt, welche die Zeichenfolge "sepp" enthält, funktioniert mittlerweile Folgendes:

C:\"program files (x86)"\vim\vim74\vim.exe -n -e -c "s/sepp/karl/ | wq!" sepp.txt

Anschließend steht da "karl" statt "sepp" drin. Wiederhole ich den Befehl, friert ex jedoch fest, weil er den gesuchten String "sepp" nicht mehr findet. Ich muß dann händisch ein ^C oder wq! eingeben. Genau das stört. Ich muß nämlich mehrere verschiedene Strings bei Vorhandensein ersetzen und ich weiß vorher nicht, ob sie überhaupt vorhanden sind oder nicht. Es bleibt also eine evtl. vorhandene Möglichkeit, ex in einem fehlertoleranten Modus aufzurufen, der in diesem Fall eben nicht festfriert (finde dazu nix in den Help-Files) oder ich müßte vorab nach allen relevanten Strings "greppen" und mir aus dem Ergebnis automatisiert ein immer neues Script basteln.

Hat jemand einen Tipp für mich?
(Windows 8.1 auf Lenovo Ideapad, vim 7.4)


Gruß,

Clemens
 
Zuletzt bearbeitet:
Hab gerade gesehen, daß es für Windows auch einen sed gibt. Der kann das definitiv und damit wäre mein Problem gelöst!
 
Kann es sein das bei der ersten Variante noch ein "g" fehlt?

s/sepp/karl/g

Obwohl das natürlich das fest frieren nicht erklärt.
 
Das g (global) müßte nur rein, wenn der zu ersetzende String mehrfach in einer Zeile vorkommen würde. Das kann ich aber ausschließen.
 
Zurück