亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 統(tǒng)計方法 [打印本頁]

作者: kaka_sun    時間: 2009-01-05 12:08
標(biāo)題: 統(tǒng)計方法
211.103.52.0        211.103.54.255        江蘇省蘇州市        移動
211.103.55.0        211.103.55.255        江蘇省蘇州市        有線通(移動出口)
211.103.56.0        211.103.56.255        江蘇省蘇州市        移動
211.103.57.0        211.103.57.255        江蘇省蘇州市昆山市        移動
211.103.58.0        211.103.68.255        江蘇省蘇州市        移動
211.103.69.0        211.103.69.255        江蘇省蘇州市        (吳江市)移動
211.103.70.0        211.103.78.145        江蘇省蘇州市        移動
211.103.78.146        211.103.78.146        江蘇省蘇州市        國際教育園-學(xué)生廣場A區(qū)-2樓移動營業(yè)廳
211.103.78.147        211.103.78.255        江蘇省蘇州市        移動
211.103.79.0        211.103.79.255        江蘇省蘇州市        廣電網(wǎng)(移動出口)
看到這樣的訪問,都是屬于江蘇省蘇州市的移動網(wǎng)關(guān),請問怎么能用shell腳本合并到一起。即變?yōu)?br />
211.103.52.0           211.103.79.255       江蘇省蘇州市        移動


如果不是連續(xù)的網(wǎng)段,就不合并

211.143.235.0        211.143.236.64        江蘇省蘇州市        移動
211.143.236.65        211.143.236.65        江蘇省蘇州市        太倉沙溪天橋網(wǎng)吧(天竹園)
211.143.236.66        211.143.238.185        江蘇省蘇州市        移動
211.143.238.186        211.143.238.186        江蘇省蘇州市        如家快捷酒店石路店
211.143.238.187        211.143.241.97        江蘇省蘇州市        移動
211.143.241.98        211.143.241.98        江蘇省蘇州市        友通數(shù)碼港
211.143.241.99        211.143.242.255        江蘇省蘇州市        移動
211.143.243.0        211.143.243.255        江蘇省蘇州市        蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院(北校區(qū))
211.143.244.0        211.143.244.169        江蘇省蘇州市        移動
211.143.244.170        211.143.244.170        江蘇省蘇州市        吳江松陵鎮(zhèn)世紀網(wǎng)吧
211.143.244.171        211.143.244.209        江蘇省蘇州市        移動
211.143.244.210        211.143.244.210        江蘇省蘇州市        吳江浪漫之都網(wǎng)吧
211.143.244.211        211.143.244.229        江蘇省蘇州市        移動
211.143.244.230        211.143.244.230        江蘇省蘇州市吳江市        同里開開網(wǎng)吧
211.143.244.231        211.143.245.255        江蘇省蘇州市        移動
211.143.246.0        211.143.246.99        江蘇省蘇州市昆山市        移動
211.143.246.100        211.143.246.100        江蘇省蘇州市昆山市        中國移動通信集團昆山分公司
211.143.246.101        211.143.246.203        江蘇省蘇州市昆山市        移動
211.143.246.204        211.143.246.204        江蘇省蘇州市昆山市        中國移動通信集團昆山分公司
211.143.246.205        211.143.247.69        江蘇省蘇州市昆山市        移動
211.143.247.70        211.143.247.70        江蘇省蘇州市昆山市        中國移動通信集團昆山分公司
211.143.247.71        211.143.247.137        江蘇省蘇州市昆山市        移動
211.143.247.138        211.143.247.138        江蘇省蘇州市昆山市        蓬朗極速網(wǎng)吧
211.143.247.139        211.143.247.255        江蘇省蘇州市昆山市        移動
211.143.248.0        211.143.249.13        江蘇省蘇州市        移動
211.143.249.14        211.143.249.14        江蘇省蘇州市常熟市        方塔街動感地帶體驗店
211.143.249.15        211.143.253.255        江蘇省蘇州市        移動
211.143.254.0        211.143.254.255        江蘇省常州市        移動
211.143.255.0        211.143.255.255        江蘇省蘇州市        移動


這個網(wǎng)段合并為
211.143.235.0         211.143.255.255      江蘇省蘇州市        移動



結(jié)果集為:

211.103.52.0           211.103.79.255        江蘇省蘇州市        移動
211.143.235.0         211.143.255.255      江蘇省蘇州市        移動
作者: welcome008    時間: 2009-01-05 12:24
怎么樣算是連續(xù)的網(wǎng)段
第一列是啥,第二列是啥?
作者: ynchnluiti    時間: 2009-01-05 12:27
標(biāo)題: 回復(fù) #2 welcome008 的帖子
好像掩碼是16位
作者: welcome008    時間: 2009-01-05 12:29
原帖由 ynchnluiti 于 2009-1-5 12:27 發(fā)表
好像掩碼是16位



我最不會算掩碼的
提到掩碼,心里就先打退堂鼓的
作者: 我是DBA    時間: 2009-01-05 12:46
標(biāo)題: 回復(fù) #4 welcome008 的帖子
我也不會算。。。
雖然學(xué)過好多次,都沒學(xué)會。
作者: ynchnluiti    時間: 2009-01-05 12:49
  1. #!/bin/bash

  2. mask=16
  3. sip=""
  4. dip=""
  5. dist=""
  6. com=""

  7. while read _sip _dip _dist _com
  8. do
  9.     if [ -z "$sip" ]; then
  10. #   echo "New net"
  11.         sip=$_sip
  12.         dip=$_dip
  13.         dist=$_dist
  14.         com=$_com
  15.         continue
  16.     fi

  17. #    if [ "$(ipcalc -n $sip/$mask)" = "$(ipcalc -n $_sip/$mask)" ]
  18.     if [ "$(ipcalc -n $sip/$mask | sed -n '2,$p')" = "$(ipcalc -n $_sip/$mask | sed -n '2,$p')" ]
  19.     then
  20.         dip=$_dip
  21.     else
  22.         printf "%-20s%-20s%-22s%-20s\n" $sip $dip "${dist}" "${com}"
  23. #   echo "New net"
  24.         sip=$_sip
  25.         dip=$_dip
  26.         dist=$_dist
  27.         com=$_com
  28.     fi
  29. done < netfile
  30. #[[ ! -z "$sip" ]] && echo -e "$sip\t$dip\t$dist\t$com"
  31. [[ ! -z "$sip" ]] && printf "%-20s%-20s%-22s%-20s\n" $sip $dip "${dist}" "${com}"
復(fù)制代碼

作者: zhangshebao    時間: 2009-01-05 12:56
第3個字段只取前6個漢字嗎?還是固定為江蘇省蘇州市?
作者: smallstar001    時間: 2009-01-05 13:09
子網(wǎng)掩碼么?

比如 255.255.0.0
就是 0xff.0xff.0.0 即前面為1的16位為一個網(wǎng)段,時不時這么理解?
作者: ynchnluiti    時間: 2009-01-05 13:24
原帖由 smallstar001 于 2009-1-5 13:09 發(fā)表
子網(wǎng)掩碼么?

比如 255.255.0.0
就是 0xff.0xff.0.0 即前面為1的16位為一個網(wǎng)段,時不時這么理解?

差不多。
作者: nlspii    時間: 2009-01-05 13:36
這個問題。。。。貌似和掩碼沒有關(guān)系的哦。就是把IP地址頭尾相接的項合并起來。
作者: ynchnluiti    時間: 2009-01-05 13:42
原帖由 nlspii 于 2009-1-5 13:36 發(fā)表
這個問題。。。。貌似和掩碼沒有關(guān)系的哦。就是把IP地址頭尾相接的項合并起來。

應(yīng)該是你說的這樣
作者: beginner-bj    時間: 2009-01-05 13:50
awk '
{
split($1,a,"[.]");if($1 ~/\.0$/) {A=(a[3]-1)*1000+256} else {A=a[3]*1000+a[4]}
if (NR==1) {FIRST=$1;THIRD=$3;FORTH=$4;B=A-1}
if (B+1!=A) {print FIRST,SECOND,THIRD,FORTH;FIRST=$1;THIRD=$3;FORTH=$4}
split($2,b,"[.]");B=b[3]*1000+b[4]
SECOND=$2
}
END{
print FIRST,SECOND,THIRD,FORTH
}' netfile
作者: ynchnluiti    時間: 2009-01-05 14:21
  1. #!/bin/bash

  2. netfile=$1
  3. [[ "$netfile" = "" ]] && netfile="netfile" #change file name

  4. sip=""
  5. dip=""
  6. dist=""
  7. com=""

  8. function next_net ()
  9. {
  10.     ip1=(${1//./ })
  11.     ip2=(${2//./ })
  12.     if [[ ${ip1[3]} = "255" && ${ip2[3]} = "0" && ${ip2[2]} = "$((${ip1[2]} + 1))" ]]; then
  13.         return 0
  14.     elif [[ ${ip2[3]} = "$((${ip1[3]} + 1))" ]]; then
  15.         return 0
  16.     fi

  17.     return 1;
  18. }
  19. while read _sip _dip _dist _com
  20. do
  21.     if [ -z "$sip" ]; then
  22.         sip=$_sip
  23.         dip=$_dip
  24.         dist=$_dist
  25.         com=$_com
  26.         ldip=$_dip
  27.         continue
  28.     fi

  29.     if next_net $ldip $_sip;
  30.     then
  31.         dip=$_dip
  32.     else
  33.         printf "%-20s%-20s%-22s%-20s\n" $sip $dip "${dist}" "${com}"
  34.         sip=$_sip
  35.         dip=$_dip
  36.         dist=$_dist
  37.         com=$_com
  38.     fi
  39.     ldip=$_dip
  40. done < ${netfile}
  41. [[ ! -z "$sip" ]] && printf "%-20s%-20s%-22s%-20s\n" $sip $dip "${dist}" "${com}"
復(fù)制代碼

作者: blackold    時間: 2009-01-05 14:53
標(biāo)題: 回復(fù) #1 kaka_sun 的帖子
移動的東西難搞得懂。
作者: expert1    時間: 2013-09-27 15:04


    挖個墳,此問題不難,關(guān)鍵是要把ip變成長整數(shù),模型可以簡化為:

$1,$2,$3.
現(xiàn)在$3相等,要把$1,$2是個區(qū)間,里面有重復(fù)的,比如1 10和2 8 ,這樣逐個合并整理為1 10

最后長整數(shù)化為ip起始值。


代碼重復(fù)過很多次了。略




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2