我正在尝试合并以下两个文件(交集)
ID Name Telephone 1 John 011 2 Sam 013 3 Jena 014 4 Peter 015
第二个文件Test2.txt
1 Test1 Test2 2 Test3 Test4 3 Test5 Test6 4 Test7 Test8 5 Test7 Test8 6 Test7 Test8 7 Test7 Test8 8 Test7 Test8 9 Test7 Test8
然后最终结果
ID Name Telephone Remark1 Remark2 1 John 011 Test1 Test2 2 Sam 013 Test3 Test4 3 Jena 014 Test5 Test6 4 Peter 015 Test7 Test8
我确实如下所示
awk -F"\t" ' {key = $1 } NR == 1 {header = key} !(key in result) {result[key] = $0; next} { for (i=2; i <= NF; i++) result[key] = result[key] FS $i } END { print result[header] delete result[header] PROCINFO["sorted_in"] = "@ind_str_asc" for (key in result) print result[key] } ' Test1.txt Test2.txt > result.txt
我只是注意到这是联盟设置的。包括所有数据Test1和Test2。
我只希望对Intersection案例显示我期望的结果。仅(1,2,3,4)
你们有什么主意吗?谢谢!
$ awk -v OFS='\t' ' NR==1 { print $0, "Remark1", "Remark2"; next } NR==FNR { a[$1]=$0; next } $1 in a { print a[$1], $2, $3 } ' Test1.txt Test2.txt ID Name Telephone Remark1 Remark2 1 John 011 Test1 Test2 2 Sam 013 Test3 Test4 3 Jena 014 Test5 Test6 4 Peter 015 Test7 Test8