使用shell脚本合并两个属性文件

时间:2012-12-24 05:51:20

标签: bash shell unix

如何使用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

2 个答案:

答案 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