2013-04-24 121 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