linux下通過sed命令直接修改文件內容


sed是實現對流的編輯。通常,我們使用sed可以實現內容的編輯后然后保存成另外的一個文件,如果正確的話,才寫入到源文件。但是某些時候,我們需要直接修改文件,因為,保存文件到一個文件,然后再覆蓋原文件的辦法顯得很麻煩。
其實很簡單,只需要一個 -i 參數就可以了。

 

sed -i 's/abc/xxx/g' file

abc修改前的字符串
xxx是修改后的字符串
file是要被修改的文件


比如,我想替換文件中的 properties 為 property ,可以使用

sed  's/properties/property/g'  build.xml
這種方式,其實並沒有修改build.xml文件的內容。如果想保存修改,通常的做法就需要重定向到另外的一個文件
sed  's/properties/property/g'  build.xml > build.xml.tmp
這樣,build.xml.tmp文件就是修改后的文件.
如果無誤,那么就可以用
mv build.xml.tmp build.xml
覆蓋原文件。
如果想直接修改源文件,而沒有這樣的過程,可以用下面的命令

sed  -i 's/properties/property/g'  build.xml

這樣,就直接修改了build.xml文件 
  
  
注:還有一個更簡單的方法 
sed -in-place -e 's/abc/cba/g' build.xml


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM