2013-04-24 118 views
11

我目前使用's/string/new_string/g'需要經過一定的CSV文件,但是我運行到困難在以下情形:中'192.168.0.111'桑達精確匹配

我要替換的'192.168.0.11'情況,但是它也趕上實例。

我如何能確保SED只抓住'192.168.0.11'而不是'192.168.0.111'?我顯然必須對許多變量重複這一點,所以可以輕鬆擴展的東西將不勝感激。

謝謝!

+2

你能告訴你當前的sed命令是否是示例數據嗎 – suspectus 2013-04-24 15:37:09

回答

19

我不知道你正在使用的正則表達式是,但如果你想「192.168.0.11」的精確匹配,你可以使用: s/\<192\.168\.0\.11\>//g

\<\>力的精確匹配。

+0

完美,謝謝 – Numpty 2013-04-24 15:44:38

+3

請注意'.'匹配任何字符,所以'192.168.0.11'將匹配'192.168.05.1'。你還應該用反斜槓('$ sed's/\ <192 \ .168 \ .0 \ .11 \> // g'')引用這些點。 – bobbogo 2013-04-24 16:11:18

+0

優秀的catch @bobbogo,我正在更新我的回答以反映。 – dave 2013-04-24 17:57:37