您好,登錄后才能下訂單哦!
如何替換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地址分隔符的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。