【问题标题】:Extract IPs before string [closed]在字符串之前提取 IP [关闭]
【发布时间】:2015-02-12 14:38:57
【问题描述】:

我有这段文字:

111.11.1.111(*)222.22.2.221(mgn)333.33.3.333(srv)
111.11.1.111(*)333.33.3.333(srv)222.22.2.222(mgn)
222.22.2.223(mgn)111.11.1.111(*)333.33.3.333(srv)

我只想知道之前的IP(mgn),输出:

222.22.2.221
222.22.2.222
222.22.2.223

谢谢

【问题讨论】:

  • 很好。祝你好运。你有问题吗?

标签: linux bash awk cut


【解决方案1】:

通过 grep,

$ grep -oP '(?:\d{1,3}\.){3}\d{1,3}(?=\(mgn\))' file
222.22.2.221
222.22.2.222
222.22.2.223

通过 sed,

$ sed 's/.*\b\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)(mgn).*/\1/g' file
222.22.2.221
222.22.2.222
222.22.2.223

【讨论】:

  • 有效!非常感谢
猜你喜欢
  • 2018-09-04
  • 2014-02-26
  • 2018-08-21
  • 2023-03-13
  • 2017-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-05
相关资源
最近更新 更多