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文件。