我有一个文件stat.config -
[stat=1]
name=value
name=value
[stat=2]
name=value
name=value
我有一个脚本文件scr.sh,需要通过查找上下文并仅在上述上下文中附加数据来更新配置文件。
如何做到这一点?
答案 0 :(得分:1)
通常我喜欢回答问题,但这次我强烈建议您不要使用shell脚本。 Shell脚本适用于简单的任务,但它们很精细。如果您的脚本中存在错误,则会删除或损坏您的配置文件。
最好使用更强大的语言,如Python,Perl或Ruby。 Python的configparser库似乎完全符合您的要求。如果我正确阅读文档,您可以这样做:
config = configparser.ConfigParser()
config.read('example.ini')
config['stat2']['flame'] = "42"
with open('example.ini', 'w') as configfile:
config.write(configfile)
关于这一点的好处是,如果程序在编辑config
时失败,那么就不会写任何内容,因此可以减少文件崩溃的危险。
我所提到的其他语言可能也有同样好的解决方案。