类似于我的旧问题: 如何合并 FileA.txt 和 FileB.txt,使用 bash 脚本赋予 FileB.txt 覆盖能力?
我想合并两个配置值文件,我又有fileA和fileB。我想要fileA中fileB中的所有行,如果两个文件中出现相同的配置键,我希望fileB中的值覆盖fileA中的值。
每行总是以'config'开头,然后是一个键,最后是一个值。使它变得困难的部分是该值可以是带有空格的带引号的字符串以分隔多个值(请参阅“网站”值)。
我有一些使用 awk 的经验和相当多的 bash 经验,但我一辈子都想不出办法来做到这一点。感谢所有帮助。谢谢
文件A:
config lanIP 10.1.1.1
config wanIP 1.1.1.1
config wanIPMask 255.255.255.255
config website "http://google.com http://yahoo.com"
文件B:
config lanIP 192.168.1.1
config wanIP 1.1.1.1
config website "http://google.com http://yahoo.com"
config moreWebsite "http://google.com http://msn.com"
预期输出:
config lanIP 192.168.1.1
config wanIP 1.1.1.1
config wanIPMask 255.255.255.255
config website "http://google.com http://yahoo.com"
config moreWebsite "http://google.com http://msn.com"