【问题标题】:Sed match exactsed 完全匹配
【发布时间】:2013-04-25 01:57:46
【问题描述】:

我目前正在使用's/string/new_string/g' 浏览一些 CSV 文件,但是在以下情况下我遇到了困难:

我想替换 '192.168.0.11' 的实例,但它也在捕获 '192.168.0.111' 的实例。

如何确保 sed 只抓取 '192.168.0.11' 而不是 '192.168.0.111'?我显然必须对许多变量重复此操作,因此很容易扩展的东西将不胜感激。

谢谢!

【问题讨论】:

  • 能否请您显示您当前的 sed 命令和示例数据

标签: linux bash sed


【解决方案1】:

我不确定您使用的正则表达式是什么,但如果您想要“192.168.0.11”的完全匹配,您可以使用: s/\<192\.168\.0\.11\>//g

\<\> 强制完全匹配。

【讨论】:

  • 请注意. 匹配任何字符,所以192.168.0.11 将匹配192.168.05.1。您还应该用反斜杠 ($ sed 's/\<192\.168\.0\.11\>//g') 引用点。
  • 跟进可能值得检查的答案 - stackoverflow.com/questions/70108120/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-11
  • 2023-03-20
  • 1970-01-01
  • 2013-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多