1

我有2个这样的文件:

档案一:

1,x
2,z
3,y

文件 B:

7,b
3,c
9,t
1,m

我想遍历File A (第一列)并查看(File B 第一列)中是否有任何匹配项awk

预期将是:

1,m
3,c
4

2 回答 2

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
于 2013-03-04T08:41:09.180 回答
2
join -t, -o 1.1,1.2 <(sort fileA) <(sort fileB)
于 2013-03-04T09:04:56.693 回答