次のような 2 つのファイルがあります。
ファイル A:
1,x
2,z
3,y
ファイル B:
7,b
3,c
9,t
1,m
File A
(最初の列)をループして、を使用してFile B
(最初の列)に一致するものがあるかどうかを確認したいと思いますawk
。
予想されるものは次のとおりです。
1,m
3,c
ちょうど使用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
join -t, -o 1.1,1.2 <(sort fileA) <(sort fileB)