温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何替换mac地址的分隔符?

发布时间:2020-05-25 11:14:21 来源:亿速云 阅读:561 作者:Leah 栏目:开发技术

如何替换mac地址的分隔符?相信大部分人都还没学会这个技能,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧。

    1.将“-”符号替换为空

        real_mac=`echo $mac|sed "s/-//g"`

        得到real_mac=aabbccddeeff    

    2.将mac地址分为6个段

        mac1=${real_mac:0:2}

        mac2=${real_mac:2:2}

        mac3=${real_mac:4:2}

        mac4=${real_mac:6:2}

        mac5=${real_mac:8:2}

        mac6=${real_mac:10:2}

    3.转换为aa:bb:cc:dd:ee:ff格式

        transform_mac=`echo $mac1:$mac2:$mac3:$mac4:$mac5:$mac6`

全部代码如下:

#!/bin/bash

file=/srv/mac_search/record/`date -d "1 days ago" "+%Y-%m-%d"`.txt

ls $file &> /dev/null

if(($?!=0));then

        wget http://192.168.1.1/mac-search/`date -d "1 days ago" "+%Y-%m-%d"`.txt -O /srv/mac_search/record/`date -d "1 days ago" "+%Y-%m-%d"`.txt &> /dev/null

fi

real_mac=`echo $1|sed "s/-//g"|sed "s/://g"`

mac1=${real_mac:0:2}

mac2=${real_mac:2:2}

mac3=${real_mac:4:2}

mac4=${real_mac:6:2}

mac5=${real_mac:8:2}

mac6=${real_mac:10:2}

transform_mac=`echo $mac1:$mac2:$mac3:$mac4:$mac5:$mac6|tr a-z A-Z`

ip=`grep $transform_mac $file|awk '{print $4}'`

echo $ip

if [ -z "$ip" ];then

        echo "No IP matches this MAC"

fi

顺便提几点:

    1.获得前一天的日期

        date -d "1 days ago" "+%Y-%m-%d"`

        获得后一天的日期:"-1 days ago"

    2.判断参数是否为空值

        if [ -z "$ip" ]

        需要加双引号,不然会报错“binary operator expected”

看完上述内容,你们掌握替换mac地址分隔符的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI