sed實現直接修改文件內容

sed是實現對流的編輯。通常,我們使用sed可以實現內容的編輯後然後保存成另外的一個文件,如果正確的話,才寫入到源文件。但是某些時候,我們需要直接修改文件,因爲,保存文件到一個文件,然後再覆蓋原文件的辦法顯得很麻煩。
其實很簡單,只需要一個 -i 參數就可以了。
比如,我想替換文件中的 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章