我有两个文件。 File1和File2。
File1中:
1 a
2 b
文件2:
1 a
2 c
3 d
我想生成一个包含以下内容的文件:
1 a
2 c
3 d
File2已插入或更新到File1中的行,类似于UPSERT功能在SQL中的工作方式。
答案 0 :(得分:2)
我猜这里,因为问题有点模糊。无论如何,awk中的某些东西只是使用第一个值作为key
来存储第二个值。如果多次找到密钥,则第二个值总是覆盖数组中的内容:
$ awk '{a[$1]=$0}END{for (i in a) print a[i]}' f1 f2
1 a
2 c
3 d
编辑:新版本采用任意宽文件,而不是绑定到两个字段。