Bash:向已有config.ini配置文件添加键值对的简洁实现方式
简洁的单行Bash解决方案
当然有几种简洁的单行命令能轻松实现这个需求,下面是最实用的两个方案:
方案1:利用cat读取内容+echo拼接覆盖
这个方法直接读取原文件内容,拼接上新的键值对后覆盖原文件,逻辑简单直观:
echo "$(cat config.ini) VALUE_C=c" > config.ini
注意:如果原文件最后一行存在换行符,拼接后会自动在原内容和新键值对之间添加空格,刚好符合需求;如果原文件末尾没有换行,这个命令也能正常工作。
方案2:用sed原地修改行尾
如果想要更稳妥的原地修改(尤其是担心原文件有特殊格式的情况),可以用sed命令直接在最后一行的末尾追加内容:
sed -i '$s/$/ VALUE_C=c/' config.ini
-i参数表示原地修改文件(直接修改原文件内容)$匹配文件的最后一行s/$/ VALUE_C=c/表示在该行的末尾($代表行尾)插入指定的键值对
如果想要保留原文件的备份(防止误操作),可以给-i加后缀生成备份文件:
sed -i.bak '$s/$/ VALUE_C=c/' config.ini
执行后会生成config.ini.bak(原文件备份)和修改后的config.ini。
内容的提问来源于stack exchange,提问作者astiegler
相关产品推荐
相关产品推荐

