Linux 使用grep过滤字符串中的指定内容

发布时间 2023-05-22 18:27:49作者: 武平宁
  • 命令示例:echo port 1234 123 | grep -oP 'port\s+\K\d+'
    返回: 1234

这条命令使用 grep 工具来在文本中查找 "Port " 后面跟着一个或多个空格的数字,并使用 -oP 标志来仅显示匹配的数字而不是整个行。其中 \K 是一个正则表达式的零宽度断言,表示从此处开始匹配,但不包括前面的字符。因此,\K\d+ 表示匹配一个或多个数字,但不包括前面的 "Port "。

  • 过滤ip地址:ip a | grep -oP 'inet\s+\K192+(\.\d+){3}'
    或者ip a show enp2s0 | grep -oP 'inet\s+\K\d+(\.\d+){3}'