web-dev-qa-db-ja.com

2つのファイルの1つの列を比較し、別の行を印刷します

File1とfile2があります。

file1:

a james
b mike
d john

file2:

a 10 20 30 40
b 11 12 13 14
c 20 30 40 50
d 10 20 30 50

出力ファイルで列1の違いのみを検出し、その行をfile2に出力する必要があります。この場合:C。したがってfile3は次のようになります。

c 20 30 40 50

適切なコマンドはcommだと思いますが、考えられるすべての組み合わせで正しい結果が得られないため、正しいスイッチを使用しているとは思いません。

2
nico

あなたはawkでこれを行うことができます

awk 'FNR==NR{a[$1];next};!($1 in a)' file1 file2
2
DarkVex

私はそれを考え出した!

join –v 1 file2 file1
0
nico