shell脚本编程:sed命令编辑文本
发布日期:2021-06-29 12:42:06 浏览次数:2 分类:技术文章

本文共 651 字,大约阅读时间需要 2 分钟。

    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    这里需要注意的是双引号的的使用,不能使用单引号。

转载地址:https://caibiao-lee.blog.csdn.net/article/details/52712157 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Linux 日志输出控制
下一篇:linux网络编程:使用多进程实现socket同时收发数据

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月25日 11时28分27秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章