Linux sed 完全匹配
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16196185/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Sed match exact
提问by Numpty
I'm currently using 's/string/new_string/g'to go through some CSV files, however I'm running into difficulty in the following scenario:
我目前正在使用's/string/new_string/g'一些 CSV 文件,但是在以下情况下我遇到了困难:
I want to replace instances of '192.168.0.11', however it's also catching instances of '192.168.0.111'.
我想替换 的实例'192.168.0.11',但是它也在捕获'192.168.0.111'.
How can I ensure sed only grabs '192.168.0.11'and not '192.168.0.111'? I'll obviously have to repeat this for many variables, so something easily scalable would be appreciated.
我怎样才能确保 sed 只抓取'192.168.0.11'而不是抓取'192.168.0.111'?显然,我必须对许多变量重复这一点,因此很容易扩展的东西将不胜感激。
Thanks!
谢谢!
采纳答案by dave
I'm not sure what the regex you are using is, but if you want an exact match of '192.168.0.11' you can use:
s/\<192\.168\.0\.11\>//g
我不确定您使用的正则表达式是什么,但如果您想要完全匹配的 '192.168.0.11',您可以使用:
s/\<192\.168\.0\.11\>//g
The \<\>force an exact match.
该\<\>部队的精确匹配。

