我正在使用shell腳本。我的要求是找到並替換字符串。該字符串也包含「/」字符。我得到錯誤sed:-e表達式#1,字符18:未終止的's'命令。有人可以告訴我應該如何替換具有「/」的字符串?使用sed查找並替換字符串給出錯誤
#!/bin/bash
...
search_string="../conf/TestSystem/Inst1.xml"
rep="Inst1/Instrument.xml"
sed -i 's|${line}|${rep}/g' MasterConfiguration.xml
我試着用另一sed命令,但一個也給了錯誤的sed:-e表達式#1,焦炭13:未知的選項爲'S'
sed -e "s/${line}/${rep}/g" MasterConfiguration.xml > tempfile
雙引號爲您的sed動作部分,而不是單引號如果你想要替換變量內容,最後的'/ g'應該是'| g'因爲你開始你的's'動作wiuth' |'而不是'/'。在這種情況下,搜索字符串也必須理想地轉義點字符。 – NeronLeVelu