sed在控制台上输出正确的更改,但不';不能在文件中编辑

sed在控制台上输出正确的更改,但不';不能在文件中编辑,sed,ubuntu-14.04,Sed,Ubuntu 14.04,我正在尝试使用此sed命令编辑我的文件 sudo sed "s/192[^:]\+ /192.168.56.109/" file 该命令输出带有正确更改的完整文件,但不编辑该文件。如果我打开文件,它与以前一样。如果inplace-I选项不起作用,您可以执行此操作 sed "s/192[^:]\+ /192.168.56.109/" file > temp && mv temp file 但请确保您有备份。您需要使用-i选项进行就地编辑(请参见手册页),或者必须将输出导入

我正在尝试使用此sed命令编辑我的文件

sudo sed "s/192[^:]\+ /192.168.56.109/" file

该命令输出带有正确更改的完整文件,但不编辑该文件。如果我打开文件,它与以前一样。

如果inplace
-I
选项不起作用,您可以执行此操作

sed "s/192[^:]\+ /192.168.56.109/" file > temp && mv temp file

但请确保您有备份。

您需要使用
-i
选项进行就地编辑(请参见手册页),或者必须将输出导入临时文件,然后在第二步中移动临时文件。-我不工作。我试过这样做,>
sudo sed-I“s/192[^::\+/192.168.56.109/”文件的可能副本
如果没有在不同文件中移动数据的开销,它不能工作吗?
mv
不移动数据,只移动文件句柄。好吧!我尝试了>
sudo sed-I的/192[^:]\+/192.168.56.109/”文件
,用单引号代替了>
sudo sed-I的s/192[^:]\+/192.168.56.109/”文件
,这对我很有效。。。谢谢:)