我正在使用Window 7。
sed -V
给了我
GNU sed version 3.02
我有一个文本文件:
foo bar
在命令行中,如果我写:
sed s/foo/tofu/ test.txt
我在stdout打印;
tofu bar
但是,我想在此处编辑此文件,因此请使用-i
选项:
sed -i s/foo/tofu/ test.txt
给了我sed: invalid option -- i
我错过了什么?
答案 0 :(得分:1)
虽然我不能保证这会起作用,因为我没有在Windows 7上运行它,但您是否考虑过使用重定向然后交换?
含义如下:
sed s/foo/tofu/ test.txt > tmp.txt && mv tmp.txt test.txt
虽然这是一种非常肮脏的做事方式,但我认为它可能有效。你也可以尝试做
sed s/foo/tofu/ test.txt > test.txt
但我觉得这可能会导致一些错误,因为你在同一个文件上阅读和写作。
答案 1 :(得分:0)
这是sed版本。试试这里找到的一个: http://unxutils.sourceforge.net/UnxUpdates.zip