2016-09-15 8 views
1

Ich habe versucht, den folgenden Befehl in meinem Windows 10-Maschine ausführen. Hier enthält eine neue Textdatei einen Text wie "Wie geht es dir?". Ich möchte die Zeichenfolge "wie" -> "wo" in derselben Datei ersetzen, ohne eine neue Datei zu erstellen. Aber es zeigt Fehler. Irgendwelche Kommentare um es zu lösen?sed Befehl funktioniert nicht auf Windows 10

sed -i s/how/where/ new.txt 

sed: ungültige Option - i

enter image description here

+0

was ist die Ausgabe von 'sed - Version'? – Sundeep

+0

@spasic GNU sed Version 3.02 – VVijay

+1

Ich denke, dass diese Version nicht inplace Bearbeitungsoption hat .. Sie können eine Abhilfe versuchen: 'sed 's/wie/wo /' new.txt> tmp.txt && mv tmp.txt neu .txt' oder 'perl' verwenden, wenn es verfügbar ist – Sundeep

Antwort

0

Ihre Version von sed (GNU sed version 3.02), unterstützt nicht die -i Option. Sie können entweder Update auf eine neuere Version von sed (version 4.2.1 is available here) oder arbeiten rund um die Ausgabe von in eine temporäre Datei umleiten und Kopieren sie dann auf die Quelldatei:

C:\>cat.exe foo.txt 
foo 
how 
bar 
baz 
foo how bar 

C:\>sed.exe s/how/where/ foo.txt > foo2.txt 

C:\>move /Y foo2.txt foo.txt 
     1 file(s) moved. 

C:\>cat.exe foo.txt 
foo 
where 
bar 
baz 
foo where bar 
Verwandte Themen