Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2044897
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2010-07-25 14:53:05

学习一下狼兄的脚本,这个shell脚本写的很规范:
本帖最后由 kwokcn 于 2010-07-23 17:47 编辑
  1. #!/bin/bash

  2. # usage : command file1 [file2 file3 ... filen]

  3. sort -t\. -k1,1n -k2,2n -k3,3n -k4,4n $* | awk '

  4. # trans ip to number
  5. function ip2n(ip) { split(ip,a,"."); return a[1]*256^3+a[2]*256^2+a[3]*256+a[4] }

  6. # trans number to ip
  7. function n2ip(n) { return int(n/256^3)"."int(n%256^3/256^2)"."int(n%256^2/256)"."int(n%256) }

  8. # main
  9. {
  10.     ipmin=ip2n($1)
  11.     ipmax=ip2n($2)

  12.     if (!min) { min=ipmin; max=ipmax; next }

  13.     if (ipmin<=max+1) max=ipmax>max?ipmax:max
  14.     else { print n2ip(min),n2ip(max); min=ipmin; max=ipmax }
  15. }
  16. END {
  17.     print n2ip(min),n2ip(max)
  18. }'
复制代码
阅读(10888) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~