免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: laixi781211
打印 上一主题 下一主题

如何用脚本判断两个IP是否相等 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
11 [报告]
发表于 2004-03-29 12:22 |只看该作者

如何用脚本判断两个IP是否相等

引自bjgirl:
  1. [[ $(echo $ipa|tr '.' '+'|bc) -eq $(echo $ipb|tr '.' '+'|bc) ]]&&echo "ipa is equal ipb"||echo "ipa is not equal ipb"
复制代码

bjgirl的bc用得挺好啊!
不过如果
ipa=1.2.3.4
ipb=2.3.4.1
结果会怎样呢? :wink:
计算出ip的整个32位整数值再比较就没有这个问题了。

论坛徽章:
0
12 [报告]
发表于 2004-03-29 15:13 |只看该作者

如何用脚本判断两个IP是否相等

ip1= 2.2.2.20
ip2=002.002.002.020

$a=`echo $ip1|awk -F . '{printf "%d.%d.%d.%d\n",$1,$2,$3,$4}'`
$b=`echo $ip2|awk -F . '{printf "%d.%d.%d.%d\n",$1,$2,$3,$4}'`

再判断$a和$b是不是相等就可以了

论坛徽章:
0
13 [报告]
发表于 2004-03-29 17:59 |只看该作者

如何用脚本判断两个IP是否相等

原帖由 "woodie" 发表:
bjgirl的bc用得挺好啊!
不过如果
ipa=1.2.3.4
ipb=2.3.4.1
结果会怎样呢? :wink:
计算出ip的整个32位整数值再比较就没有这个问题了。
谢谢您,我没有考虑

论坛徽章:
0
14 [报告]
发表于 2004-03-30 01:15 |只看该作者

如何用脚本判断两个IP是否相等

欢迎测试
  1. #!/bin/ksh
  2. #缺省认为你的IP是合法的 :D
  3. ipa=x.y.z.w;ipb=X.Y.Z.W;n=1
  4. while ((n<=4));do
  5.         [[ $(echo $ipa|cut -f$n -d'.'|sed s/^0//) -ne $(echo $ipb|cut -f$n -d'.'|sed s/^0//) ]]&&echo "!="||echo "==";((n+=1))
  6. done|grep -q !&&echo "ipa!=ipb"||echo "ipa==ipb"
复制代码

论坛徽章:
0
15 [报告]
发表于 2004-04-01 13:22 |只看该作者

如何用脚本判断两个IP是否相等

其实把ip的value值计算出来也可以比较!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
16 [报告]
发表于 2004-04-01 23:21 |只看该作者

如何用脚本判断两个IP是否相等

[quote]原帖由 "仙剑"]其实把ip的value值计算出来也可以比较![/quote 发表:

这样应该是最准确的,可以参照老斑的帖子完成:
http://www.chinaunix.net/forum/viewtopic.php?t=167771

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
17 [报告]
发表于 2004-04-02 09:55 |只看该作者

如何用脚本判断两个IP是否相等

就题目本身而言,只要将ip地址格式化成标准3位形式就可以了:
  1. cat IP.txt
  2. 192.168.0.1
  3. 192.168.0.2
  4. 192.168.0.3
  5. 192.168.0.4
  6. 192.168.0.5
  7. 192.168.0.6
  8. 192.168.0.7
  9. 192.168.0.8
  10. 192.168.0.9
  11. root@bj02 /tmp/aa 09:53:59 # awk -F"." 'BEGIN{OFS="."}{for i=1;i<=NF;i++)$i=sprintf("%03d",$i);print}'  IP.txt
  12. 192.168.000.001
  13. 192.168.000.002
  14. 192.168.000.003
  15. 192.168.000.004
  16. 192.168.000.005
  17. 192.168.000.006
  18. 192.168.000.007
  19. 192.168.000.008
  20. 192.168.000.009
复制代码

这样的数据比较起来,肯能就不会出现大家担心的问题了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP