您的位置:首页 > 运维架构 > Shell

shell脚本编程:sed命令编辑文本

2016-10-11 14:04 357 查看
    red是一种在在线编辑器。它一次处理一行内容。工作中遇到一个客户的需求,默认wifi的ssid命名需要使用MAC地址的后6位,wifi配置信息在hostapd.conf文件中。最终需要实现的功能就是,flash 第一次上电,读取网卡的MAC地址,提取MAC地址的后六位数字,将这留位数值写到hostapd.conf文件的对应位置。shell实现命令如下:

MAC=$(cat /sys/class/net/wlan0/address|sed 's/://g')
hw=$(echo ${MAC:6})
sed -i "s/ssid=.*$/ssid=HC$hw/g" /write/hostapd.conf
    查看MAC地址的命令是cat /sys/class/net/wlan0/address,在我的平台上的输出结果是:c8:cd:0c:e3:64:75

    sed 's/://g'     这是清除字符串中的:字符,执行完第一条语句,MAC变量中保存的值为c8cd0ce36475

    hw=$(echo ${MAC:6})      这个是取MAC变量中的后6个字符,命令结束后hw变量的值为e36475

    sed -i "s/ssid=.*$/ssid=HC$hw/g" /write/hostapd.conf     这个命令是将/write/目录下的hostapd.conf这个文件中的ssid= 这一行字符替换为ssid=HC$hw,其实也就是替换为ssid=HCe36475    这里需要注意的是双引号的的使用,不能使用单引号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell 脚本 编程