免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5200 | 回复: 8

一个将IP转换程序  关闭 [复制链接]

论坛徽章:
0
发表于 2004-04-02 00:50 |显示全部楼层
  1. #!/bin/ksh
  2. #
  3. #缺省IP为合法地址 :oops:
  4. function b0 {
  5. m=0
  6. while ((m<=$o));do
  7.         echo -n 0;((m+=1))
  8. done
  9. }
  10. set -A ip
  11. n=1
  12. while ((n<=4));do
  13.         ip[$n]=$(echo $1|cut -f$n -d'.');((n+=1))
  14. done
  15. for i in ${ip[*]};do
  16.         typeset -i2 var=$i
  17.         ip=$(echo $var|sed 's/^2#//')
  18.         o=$((8-${#ip}))
  19.         echo -n $(b0)$ip;echo -n .
  20. done|sed 's/.$/\
  21. /g'
复制代码
效果如下:
$ksh ip 1.2.3.4
000000001.000000010.000000011.000000100
$ksh ip 192.168.0.2
011000000.010101000.000000000.000000010
有感于此:
http://bbs.chinaunix.net/forum/24/20040327/290385.html

论坛徽章:
0
发表于 2004-04-03 00:38 |显示全部楼层

一个将IP转换程序

没人理@_!,睡觉去!

论坛徽章:
0
发表于 2004-04-03 00:59 |显示全部楼层

一个将IP转换程序

支持一下,哈哈

论坛徽章:
0
发表于 2004-04-03 12:46 |显示全部楼层

一个将IP转换程序

不错!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2004-04-03 21:19 |显示全部楼层

一个将IP转换程序

之前有一個關於顯示一段 IP 起止地址的討論,
當時我也寫了個類似的功能...
可惜現在的"搜尋"不能用,要不也可給大家參考一下的。

论坛徽章:
0
发表于 2004-04-06 16:39 |显示全部楼层

一个将IP转换程序

bjgirl 就是牛,你是写程式的?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2004-04-06 22:51 |显示全部楼层

一个将IP转换程序

用搜索找到了....  ^_^
請參考:
http://bbs.chinaunix.net/forum/viewtopic.php?p=1835463#1835463

這是我當時用的 function :
  1. dec_2_bin () {
  2.         for a in ${1//./ }; do
  3.                 echo "obase=2;$a" | bc | awk '{printf("%08.0f"),$1}'
  4.         done
  5.         echo
  6. }

  7. bin_2_dec () {
  8.         unset num
  9.         for b in 0 8 16 24; do
  10.                 byte=$(echo "ibase=2;${1:$b:8}" | bc)
  11.                 num="$num.$byte"
  12.         done
  13.         echo $location ${num#.}
  14. }
复制代码

论坛徽章:
0
发表于 2004-07-18 23:20 |显示全部楼层

一个将IP转换程序

#!/bin/bash
echo $1|awk -F. '{ printf "%x.%x.%x.%x\n",$1,$2,$3,$4 }'

另外
http://bbs.chinaunix.net/forum/24/20040327/290385.html
也可以这么做:
#!/bin/bash
IPHEX1=`echo $1|awk -F. '{ printf "%10d",$1*16777216 + $2*65536 + $3*256 + $4 }'`
IPHEX2=`echo $2|awk -F. '{ printf "%10d",$1*16777216 + $2*65536 + $3*256 + $4 }'`
if [ $IPHEX1 = $IPHEX2 ]; then
        echo "The two ip  $1,$2 is equal";
else
        echo "The two ip  $1,$2 isn't equal";
fi[/code]

论坛徽章:
0
发表于 2008-04-23 11:45 |显示全部楼层
不错不错,又是计算机ip的,哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP