2016-09-15 5 views
1

Я попытался запустить команду ниже на моем компьютере с Windows 10. Здесь новый текстовый файл содержит такой текст, как «как дела?». Я хочу заменить строку 'how' -> 'where' в том же файле, не создавая новый файл. Но он показывает ошибку. Любые комментарии, чтобы решить эту проблему?Команда sed не работает над окнами 10

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

СЭД: неверный вариант - я

enter image description here

+0

что выход 'СЭД - версия'? – Sundeep

+0

@spasic GNU sed version 3.02 – VVijay

+1

Я думаю, что в версии нет опции редактирования inplace. Вы можете попробовать обходное решение: 'sed 's/how/where /' new.txt> tmp.txt && mv tmp.txt new .txt' или использовать 'perl', если он доступен – Sundeep

ответ

0

Ваша версия SED (GNU sed version 3.02), не поддерживает опцию -i. Вы можете либо обновление до более новой версии SED (version 4.2.1 is available here), или работа вокруг вопроса путем перенаправления во временный файл, а затем скопировать его в исходный файл:

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 
Смежные вопросы