假设一个文件包含:
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 :(得分:1)
使用-i
参数来编辑文件:
sed -i 's/\(a=\).*/\1new/' file
答案 1 :(得分:0)
你也可以关注一次。
sed -i '/^a=/s/=.*/=new/g' Input_file