在shell中覆盖原始文件中的一行

在shell中覆盖原始文件中的一行,shell,sed,Shell,Sed,我有一个这样的文件- Asia Europe Africa Asia #Europe Africa 我想搜索单词Europe并在前面插入“#”,它应该是这样显示的- Asia Europe Africa Asia #Europe Africa 我试过: sed -e 's/"Europe"/"#Europe"/g' $file 此外: 但它并不是只覆盖那一行,事实上,它只是用一行更新文件,如下所示: #Europe 这可能适用于您(GNU-sed): 我已经编辑了我的初始答案(现在使

我有一个这样的文件-

Asia
Europe
Africa
Asia
#Europe
Africa
我想搜索单词Europe并在前面插入“#”,它应该是这样显示的-

Asia
Europe
Africa
Asia
#Europe
Africa
我试过:

sed -e 's/"Europe"/"#Europe"/g' $file
此外:

但它并不是只覆盖那一行,事实上,它只是用一行更新文件,如下所示:

#Europe
这可能适用于您(GNU-sed):


我已经编辑了我的初始答案(现在使用
-I
选项),以实现就地文件修改。