2017-08-24 80 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 
相關問題