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
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: