2017-08-24 82 views
0

假设包含一个文件:如何在使用sed编辑器时保留文件格式?

a=1234 
b=5678 
c=word 

我写一个bash脚本,将改变的值。我使用下面的命令:

echo `sed "s/\(a=\).*/\1 new/" file` >file 

它给:

a=new b=5678 c=word 

我也尝试(使用锚)仍然得到相同的格式如下:

echo `sed "s/\(a=\).*[\n]$/\1 new/" file` >file 
echo `sed "s/\(a=\).*'\n'$/\1 new/" file` >file 

,我想:

a=new 
b=5678 
c=word 

该怎么办?

+0

删除'echo'和引号。并且不要用输出文件覆盖输入文件 - 而是使用'-i'。 –

回答

1

使用-i参数编辑文件地点:

sed -i 's/\(a=\).*/\1new/' file 
0

你可以跟随SED过一次。

sed -i '/^a=/s/=.*/=new/g' Input_file 
相关问题