匹配两个文件并打印所有列
Matching two files and print all columns
我有两个文件要根据文件 1 中的第 1 列和文件 2 中的第 2 列进行匹配。
文件 1:
1000019 -0.013936 0.0069218 -0.0048443 -0.0053688
1000054 0.013993 0.0044969 -0.0050022 -0.0043233
文件 2:
5131885 1000019
1281471 1000054
我想在匹配后打印所有列。
预期输出(文件 3):
5131885 1000019 -0.013936 0.0069218 -0.0048443 -0.0053688
1281471 1000054 0.013993 0.0044969 -0.0050022 -0.0043233
我尝试了以下方法:
awk 'FNR==NR{arr[]=;next} ( in arr){print [=13=],arr[]}' file1 file2 > file3
join file1 file2 > file3 #after sorting
这个awk
应该可以工作
awk 'NR==FNR {r[]=; next}{print r[], [=10=]}' $file2 $file1
输出
5131885 1000019 -0.013936 0.0069218 -0.0048443 -0.0053688
1281471 1000054 0.013993 0.0044969 -0.0050022 -0.0043233
我有两个文件要根据文件 1 中的第 1 列和文件 2 中的第 2 列进行匹配。
文件 1:
1000019 -0.013936 0.0069218 -0.0048443 -0.0053688
1000054 0.013993 0.0044969 -0.0050022 -0.0043233
文件 2:
5131885 1000019
1281471 1000054
我想在匹配后打印所有列。 预期输出(文件 3):
5131885 1000019 -0.013936 0.0069218 -0.0048443 -0.0053688
1281471 1000054 0.013993 0.0044969 -0.0050022 -0.0043233
我尝试了以下方法:
awk 'FNR==NR{arr[]=;next} ( in arr){print [=13=],arr[]}' file1 file2 > file3
join file1 file2 > file3 #after sorting
这个awk
应该可以工作
awk 'NR==FNR {r[]=; next}{print r[], [=10=]}' $file2 $file1
输出
5131885 1000019 -0.013936 0.0069218 -0.0048443 -0.0053688
1281471 1000054 0.013993 0.0044969 -0.0050022 -0.0043233