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

时间:2013-07-14 19:41:48

标签: shell sed

我有一个这样的文件 -

Asia
Europe
Africa

我想搜索欧洲字,并在它前面插入“#”,这应该是这样的 -

Asia
#Europe
Africa

我试过了:

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

此外:

sed -r 's/"Europe"/"#Europe"/g' $file > $tmp`
mv $tmp $file

但它并没有覆盖那条特定的行,实际上只用这样一行更新了他的文件:

#Europe

1 个答案:

答案 0 :(得分:2)

这可能适合你(GNU sed):

sed -i 's/^Europe/#&/' file