我想要一個簡單的單線程與sed
來更新java屬性值。如果不知道Java屬性的當前設置是什麼,它可能是空的)使用sed更新java屬性文件中的屬性
example.java.property=previoussetting
後
example.java.property=desiredsetting
我想要一個簡單的單線程與sed
來更新java屬性值。如果不知道Java屬性的當前設置是什麼,它可能是空的)使用sed更新java屬性文件中的屬性
example.java.property=previoussetting
後
example.java.property=desiredsetting
假設的Linux的GNU的sed
之前,1個解決方案將是
編輯轉義'。'字符即s/example\.java.../
每正確的註釋肯特
replaceString=desiredsetting
sed -i "s/\(example\.java\.property=\).*\$/\1${replaceString}/" java.properties
如果您的sed不兌現-i
,那麼你必須要管理。tmp文件,即
sed "s/\(example\.java\.property=\).*\$/\1${replaceString}/" java.properties > myTmp
/bin/mv -f myTmp java.properties
我希望這有助於。
這將更新文件:
sed -i "/property.name=/ s/=.*/=newValue/" yourFile.properties
這將打印到一個新文件
sed "/property.name=/ s/=.*/=newValue/" yourFile.properties > newFile.properties
這是你如何更新多個屬性
sed -i -e "/property.name.1=/ s/=.*/=newValue1/" -e "/property.name.2=/ s/=.*/=newValue2/" yourFile.properties
的大師的sed可能會責怪我,因爲這不是最恰當的方式來做到這一點(例如我並沒有逃避這些問題),但是當你不想犧牲可讀性時,我認爲這是最好的選擇。
這裏的廣泛討論: How do I use sed to change my configuration files, with flexible keys and values?
[你嘗試過什麼?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – 2012-02-20 20:55:08