-1
sed -e "\$aDNS3=" <filedirectory>
我試圖在文件末尾添加行「DNS3 =」,因此執行命令在bash腳本中打開文件並將DNS3 =包含在最後一行,但未保存更改。無論如何要保存更改並且不顯示所做的更改?
sed -e "\$aDNS3=" <filedirectory>
我試圖在文件末尾添加行「DNS3 =」,因此執行命令在bash腳本中打開文件並將DNS3 =包含在最後一行,但未保存更改。無論如何要保存更改並且不顯示所做的更改?
您可以使用-i
選項。這將就地編輯文件。
從man sed
:
-i [SUFFIX],--in就地[= SUFFIX]代替
編輯文件(使備份,如果供給SUFFIX)
使用sed -e "\$aDNS3=" -i filename
會將DNS3=
設置爲文件的最後一行。
echo "DNS=" >> file
會更簡單,速度更快,因爲它不需要讀取文件。
唯一的問題是最後缺少換行符的文本文件。 – jthill
@jthill:嚴格來說,沒有以換行符結尾的文件不是文本文件。確實,你應該知道你在追加什麼,但'echo >> file'是追加的經典成語。 – rici
那裏沒有問題,只有當一個文件可能已經被不信任的用戶觸及時,額外的清理變得健全。 – jthill