2つのファイルの比較

2つのファイルの比較

UNIXには2つのファイルがあります。最初のファイルはエンティティで、2番目のファイルは参照です。最初のファイルには Entity ID という列が 1 つだけあり、2 番目のファイルには Entity ID Person ID という 2 つの列があります。

両方のファイルのエンティティIDが一致する出力ファイルを生成したいと思います。

エンティティファイル

624197
624252
624264
624276
624280
624309
624317

参照文書

624252|624346
624264|1070122
624264|624346
624276|624588
624280|624346
624280|624582
624298|624588
624319|333008
624330|624588

結果ファイル

624252|624346
624264|1070122
624264|624346
624276|624588
624280|624346
624280|624582

エンティティファイルには90,000のレコードがあり、参照ファイルには200,000のレコードがあります。 3番目のファイルを生成する効率的な方法はありますか?すべてのソリューションに感謝します。

ベストアンサー1

ファイルがすべてソートされたとします。

join -j1 -t\| entity.txt reference.txt

ソートされていない場合はソートします。

sort entity.txt -o entity-sorted.txt
sort reference.txt -o reference-sorted.txt
join -j1 -t\| entity-sorted.txt reference-sorted.txt

おすすめ記事