通过awk查询本机IP并转换成二进制以及交互式转换二进制(shell脚本)

通过awk查询本机IP并转换成二进制以及交互式转换二进制

通过awk自动查询地址后转换成二进制

[root@localhost /]# ./ip.sh 
本机IP为:192.168.131.9
本机IP地址转换成二进制格式为:11000000.10101000.10000011.00001001
[root@localhost /]# vim ip.sh

   sum=$w
   for e in {128,64,32,16,8,4,2,1}
     do
       r=$[$sum - $e]

       if [ $r -ge 0 ];then
          echo -n 1
              sum=$r
       else
          echo -n 0
       fi
     done
     echo -n "."
done
}

localip=$(ifconfig | awk 'NR==2 {print $2}')
echo "本机IP为:$localip"
iplist=`echo $localip | awk -F "." '{print $1,$2,$3,$4}'`
list=`convert $iplist`
binformat=`echo $list | sed 's/\.$//'`
echo "本机IP地址转换成二进制格式为:$binformat"

通过函数交互转换二进制

[root@localhost /]# ./2.sh 
请输入想要转换的IP地址:192.168.131.9
11000000.10101000.10000011.00001001
[root@localhost /]# ./2.sh 
请输入想要转换的IP地址:12.13.11.244
00001100.00001101.00001011.11110100
[root@localhost /]# ./2.sh 
请输入想要转换的IP地址:168.131.250.21
10101000.10000011.11111010.00010101
[root@localhost /]# vim 2.sh 

    x=`echo $1 | awk 'BEGIN {RS="."} ; {print} '`
     for a in $x
     do
         for ((i=1;i<=255;i+=$i))
             do
             m=$[128/$i]
             sum=$[$a-$m]
             if [ $a -ge $m ]
             then
             a=$[$a-$m]
             echo -n "1" 
             else
             echo -n "0"  
             fi
        done

        echo  -e "\t" 
   done
}
read -p "请输入想要转换的IP地址:" p
list="`q $p`"
echo $list | sed 's/ /./g'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TaKe___Easy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值