我有2个这样的文件:
档案A:
1,x
2,z
3,y
档案B:
7,b
3,c
9,t
1,m
我想循环浏览File A
(第一列)并查看File B
(第一列)中是否有匹配使用{ {1}}。
预期将是:
awk
答案 0 :(得分:3)
只需使用awk
:
$ awk -F, 'NR==FNR{a[$1];next}($1 in a)' file1 file2
3,c
1,m
管道到sort
以获取有序输出:
$ awk -F, 'NR==FNR{a[$1];next}($1 in a)' file1 file2 | sort
1,m
3,c
或者这是join
执行(需要对输入文件进行排序)的内容:
$ join <(sort file1) <(sort file2) -j1 -t, -o"2.1,2.2"
1,m
3,c
答案 1 :(得分:2)
join -t, -o 1.1,1.2 <(sort fileA) <(sort fileB)