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

网友投稿 263 2022-09-04

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

大家好,我是杂烩君。

本次分享一种修改配置文件的方法,文章很短,但挺实用~

平时,我们使用的配置文件可以是json、ini等这些标准格式,也可以是一些非标准格式。这些标准格式都有一些对应的库进行解析修改,比较方便。但是,有时候我们需要修改一些非标准格式的一些文件里的一些内容,可能就得自己想办法了。

这里提供一种方法:使用sed工具进行修改。

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

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

r/run/wpa_supplicantupdate_config=1ap_scan=1network={ 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.confsed -i 's/psk="[^"]*"/ssid="88888888"/g' ./wpa_supplicant.conf

也可以在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;}

运行结果:

在修改配置文件之前,需要重置一下,保证配置文件的格式正确。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SqlServer性能优化索引(五)
下一篇:统计遗传学:第五章,多基因评分PGS
相关文章

 发表评论

暂时没有评论,来抢沙发吧~