ZBLOG

shell脚本過濾出IP 10.8.87.123:9906 ip端口任意變換

您可以使用正则表达式来匹配IP和端口格式,这里提供几种方法:

方法1:使用 grep + 正则表达式

grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]{1,5}' filename

方法2:更精确的IP地址匹配

grep -Eo '((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?):[0-9]{1,5}' filename

方法3:使用 awk(如果在一行中有多个IP)

awk '{
    for(i=1;i<=NF;i++) {
        if($i ~ /^([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]{1,5}$/) {
            print $i
        }
    }
}' filename

方法4:提取文本中的所有IP:端口组合

grep -Po '\b(?:\d{1,3}\.){3}\d{1,3}:\d{1,5}\b' filename

示例:

假设文件内容为:

服务器地址: 10.8.87.123:9906, 备份地址: 192.168.1.100:8080
连接信息: 172.16.23.45:3306 mysql数据库
无效地址: 300.400.500.600:99999

运行上述任一命令后,输出将是:

10.8.87.123:9906
192.168.1.100:8080
172.16.23.45:3306

参数说明:

  • -E:使用扩展正则表达式
  • -o:只输出匹配的部分
  • +P:使用Perl兼容正则表达式(更强大) -[[:digit:]][0- {1, }\d`:匹配数字

这个正则表达式会匹配任意合法的IP地址(xxx. x.x.x)加上冒号和端口号(


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?