使用sed编辑器时如何保持文件格式?

时间:2017-08-24 08:54:39

标签: bash shell

假设一个文件包含:

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

怎么做?

2 个答案:

答案 0 :(得分:1)

使用-i参数来编辑文件:

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

答案 1 :(得分:0)

你也可以关注一次。

sed  -i '/^a=/s/=.*/=new/g'   Input_file