28
我正在編寫一個shell腳本來創建一些配置文件。在sed中使用斜槓替換
我還必須替換文件中的一些模式,並且應該用路徑替換一個模式。
所以我的問題是:有沒有一種方法來取代我的佔位符webpath路徑沒有在斜線前面設置反斜槓?
也許有另一種工具可以做到這一點?
我正在編寫一個shell腳本來創建一些配置文件。在sed中使用斜槓替換
我還必須替換文件中的一些模式,並且應該用路徑替換一個模式。
所以我的問題是:有沒有一種方法來取代我的佔位符webpath路徑沒有在斜線前面設置反斜槓?
也許有另一種工具可以做到這一點?
您可以通過backslashing它使用替代正則表達式的分隔符爲搜索模式:
sed '\,some/path,d'
而只是把它當作是爲s
命令:
sed 's,some/path,other/path,'
你可能想保護其他元字符,但;這是使用Perl和quotemeta
或其他腳本語言中的等價物的好地方。
從man sed
:
/regexp/
匹配線匹配正則表達式regexp
。
\cregexpc
匹配線匹配正則表達式regexp
。c
可能是反斜線或換行符以外的任何字符。
s/regular expression/replacement/flags
用替換字符串替換模式空間中正則表達式的第一個實例。除了反斜槓或換行符以外的任何字符都可以用來代替斜線來分隔RE和替換。在RE和替換內部,RE分隔符本身可以用作文字字符,前提是前面有反斜槓。