ZBLOG

我只需要其中的ip地址

如果你只需要提取 proxy_pass 后面的 IP 地址(不包括端口和协议),可以使用以下命令:

方法1:grep + sed(推荐)

grep -o 'proxy_pass\s\+http://[0-9.]\+:[0-9]\+;' 文件名 | sed -n 's/.*http:\/\/\([0-9.]\+\):.*/\1/p'

说明:

  1. grep -o:先匹配完整的 proxy_pass http://IP:PORT; 格式。
  2. sed:通过正则提取其中的 IP 部分:
    • s/.*http:\/\/\([0-9.]\+\):.*/\1/p
      • \([0-9.]\+\) 捕获 IP(如 192.168.1.1)到分组 \1
      • /p 只打印匹配结果。

方法2:直接使用 awk

awk '/proxy_pass/{match($0, /http:\/\/([0-9.]+):/, a); print a[1]}' 文件名

说明:

  • match($0, /http:\/\/([0-9.]+):/, a)
    在每行中匹配 http://IP:,并将 IP 存入数组 a[1]

示例输出:

假设文件内容为:

proxy_pass http://192.168.1.100:8080;

运行上述命令后,输出结果为:

192.168.1.100

如果需要处理多个文件(如所有 .conf 文件),将 文件名 替换为 *.conf 即可。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=23792

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?