Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119159
  • 博文数量: 34
  • 博客积分: 1485
  • 博客等级: 上尉
  • 技术积分: 351
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-10 11:06
文章分类

全部博文(34)

文章存档

2011年(2)

2010年(17)

2009年(4)

2008年(7)

2007年(4)

我的朋友

分类:

2010-03-24 16:34:46



#!/bin/bash 
#
#for * ipadress segment
#
#

source_file=
target_file=
ip_area=
_AGGR=/usr/bin/aggregate
AGGR="$_AGGR -q -m 30 -o 30"


usage(){
cat <
Usage: $(basename $0) [-f source file ] [ -t target file ] [-a area] 
EOF1
}

utf8_ip_area(){
iconv -c -f gb2312 -t utf-8 $1 | grep "$ip_area" | awk '{print $1,$2}' 
}


while [ -n "$1" ]; do
   case "$1" in
    "-f"|"--sfile")
     shift
     source_file=$1
     shift
;;
    "-t"|"--tfile")
     shift
     target_file=$1
     shift
;;
    "-a"|"--iparea")
     shift
     ip_area=$1
     shift
;;
*)
echo "Error: Invalid argument"
usage
exit 1
;;
    esac
done


    
[ -z "$source_file" -o -z "$target_file" -o -z "$ip_area" ] && usage && exit 2

[ ! -x "$_AGGR" ] && echo "Cannot find $_AGGR" && exit 3



utf8_ip_area $source_file > testa
while read a ;do
ipcalc -r $a |grep ^[0-9]  
#ipcalc -r $a |grep ^[0-9] >> b.txt 
#i=`ipcalc -r $a |grep ^[0-9] |wc -l` 
#[ "$i" -gt 1 ] && echo $a
done  <  testa   | $AGGR > $target_file
rm testa

阅读(903) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~