0
我試圖取代使用shell腳本(在Mac OSX上工作),我的.xml文件一行sed的。問題是:我想將標記<source-path>/Users/myouser</source-path>
更改爲<source-path>/Users/otherUser</source-path>
我有兩個問題:如何一起工作「/」使用shell腳本
1)如何使用sed處理「/」? 2)我可以使用正則表達式嗎?
感謝
我試圖取代使用shell腳本(在Mac OSX上工作),我的.xml文件一行sed的。問題是:我想將標記<source-path>/Users/myouser</source-path>
更改爲<source-path>/Users/otherUser</source-path>
我有兩個問題:如何一起工作「/」使用shell腳本
1)如何使用sed處理「/」? 2)我可以使用正則表達式嗎?
感謝
最簡單的答案是在你的表達式中使用不同的分隔符,例如:至於是否可以使用正則表達式
sed -e 's|/Users/myouser|/Users/otherUser|' file.xml
- 你使用sed
,所以是。
與sed的修改XML標準條款是一個脆弱且容易出錯的方法。
要弄清楚文字斜線使用sed:斜槓是不是一個特殊字符,你需要的,如果你用它作爲分隔符來逃避它:'S /拍拍\/PAT/REPL /',但你可以選擇其他分隔符:'#pat/pat#repl#'(在這種情況下,不需要轉義它)。關於xml解析,使用sed並不是最好的方法,並且容易出錯,請嘗試找到一個工具來操縱xml(或使用腳本語言)。 –
非常感謝您的幫助! –