良许Linux教程网 干货合集 分享一种修改配置文件的方法

分享一种修改配置文件的方法

通常,我们使用的配置文件可以采用标准格式,比如json、ini等,也可以是一些非标准格式。对于这些标准格式,通常有相应的库可以使用来解析和修改,非常方便。然而,当我们需要修改一些非标准格式文件中的内容时,可能就需要自己动手解决了。

下面介绍一种方法:使用sed工具来进行修改。

sed 工具是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除、替换、添加、移动等),最后输出所有行或者仅输出处理的某些行。

例如,之前我们分享的文章:远程登陆开发板:RTL8723驱动移植+wpa_supplicant移植+SSH移植中有用到如下用于配置板子所连接WiFi的配置文件wpa_supplicant.conf:

r/run/wpa_supplicant
update_config=1
ap_scan=1

network={
        ssid="test"
        psk="12345678"
        scan_ssid=1
        key_mgmt=WPA-PSK
        priority=1
}

假如我们想要修改ssid的值为 LinuxZn 及psk的值为 88888888 ,可以怎么修改?

命令行操作:

****左右滑动查看全部代码>>>******

sed -i 's/ssid="[^"]*"/ssid="LinuxZn"/g' ./wpa_supplicant.conf
sed -i 's/psk="[^"]*"/ssid="88888888"/g' ./wpa_supplicant.conf
image-20230902233033966
image-20230902233033966

也可以在C代码中调用以上命令,如:

代码:

****左右滑动查看全部代码>>>******

#include    
#include 
#include 
#include 

#define SHELL_CMD_MODIFY_WIFI_SSID        "sed -i \'s/ssid=\"[^\"]*\"/ssid=\"%s\"/g\' ./wpa_supplicant.conf"
#define SHELL_CMD_MODIFY_WIFI_PSW         "sed -i \'s/psk=\"[^\"]*\"/psk=\"%s\"/g\' ./wpa_supplicant.conf"
#define SHELL_CMD_RESET_WIFI_CONF_FILE    "cp default_wpa_supplicant.conf wpa_supplicant.conf"


int main(int arc, char *argv[])
{
    char shell_cmd[256] = {0};

    // 重置WiFi配置文件
    system(SHELL_CMD_RESET_WIFI_CONF_FILE);

    // 修改WiFi名称
    snprintf(shell_cmd, sizeof(shell_cmd), SHELL_CMD_MODIFY_WIFI_SSID, "LinuxZn");
    system(shell_cmd);

    // 清除shell_cmd
    bzero(shell_cmd, sizeof(shell_cmd));

    // 修改WiFi密码
    snprintf(shell_cmd, sizeof(shell_cmd), SHELL_CMD_MODIFY_WIFI_PSW, "88888888");
    system(shell_cmd);

 return 0;
}

运行结果:

image-20230902233038173
image-20230902233038173

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部