2つのファイル比較:列比較を使用すると、あるファイルには行がありますが、他のファイルには行はありません。

2つのファイル比較:列比較を使用すると、あるファイルには行がありますが、他のファイルには行はありません。

両方のファイルを比較する必要があります。列 1 は両方のファイルで同じです。列2は私が比較したいものです。列2を比較すると、ファイル2に含まれていないファイル1のすべての行が必要です。列 3 は両方のファイルで異なり、列 1 と列 2 が同じ行の場合も同様です。出力としてファイル 1 の行にその列を含めたいので、列 3 を削除できません。

例は次のとおりです。

ファイル1

21  12340   3
21  12341   7
21  12342   2
21  12343   89
21  12349   7

ファイル2

21  12340   55
21  12341   7
21  12343   89
21  12344   7
21  12346   88
21  12347   3
21  12348   37

私の結果は次のとおりです

21  12342   2
21  12349   7

ベストアンサー1

joinファイルが例の args にあるように事前にソートする必要があるため、joinファイルの順序を維持する必要がある場合出力、これは別のアプローチが必要です。元のフィールド間隔の幅を維持しようとしません。

join -1 2 -2 2 -v 1 <(sort file1) <(sort file2)

出力

21 12342 2
21 12349 7

おすすめ記事