如何使用shell脚本合并两个属性文件,例如: - 如果我有两个属性文件,如
first.properties
/test/file="anish"
/test/version=3.0
second.properties
/test/author=nath
/test/version=2.0
如果我将first.properties合并到second.properties上,那么常见的现有属性应取自first.properties,因此我的输出应该看起来像
final.properties
/test/file="anish"
/test/version=3.0
/test/author=nath
答案 0 :(得分:17)
另一种方式:
$ awk -F= '!a[$1]++' first.properties second.properties
此awk的输入是第一个文件的内容,后跟第二个文件。 !a[$1]++
仅打印特定键的第一个出现,因此删除第二个文件中的重复项。
答案 1 :(得分:2)
$ cat first.properties second.properties | awk -F= '!($1 in settings) {settings[$1] = $2; print}'
/test/file="anish"
/test/version=3.0
/test/author=nath