1
。使用SED與模式匹配代替我想找到所有包含<code>self.vars['stuff']</code>並替換行文本與<code>self.v.stuff</code>文件的命令
我已經嘗試使用:sed -e "s/self.vars\['/self.v./" -e "s/'\]//"
,但會影響會包含]
以及其他行...
任何想法?
。使用SED與模式匹配代替我想找到所有包含<code>self.vars['stuff']</code>並替換行文本與<code>self.v.stuff</code>文件的命令
我已經嘗試使用:sed -e "s/self.vars\['/self.v./" -e "s/'\]//"
,但會影響會包含]
以及其他行...
任何想法?
使用反向引用。這部作品在SED,假設你只使用單引號鍵:
s/self\.vars\['\([^]]\+\)'\]/self.v.\1/g
這將是更好地在這裏使用'[^'] *',而不是'*' – 2012-07-24 16:59:42
@Igor,我發現周圍與你同時。它應該現在正確工作。 – Fraxtil 2012-07-24 17:00:50
'[^ '] *'效果會更好,因爲你變體不會在這種情況下工作:'瓦爾[' 一] B']' – 2012-07-24 17:09:34