最初の列の共通行に基づいて2つのファイルをリンクする方法は?

最初の列の共通行に基づいて2つのファイルをリンクする方法は?
file1 :

HOUSAM1189870            3      0.00   0  -2450.00  11
HOUSAM1213135            3      0.00   0  -2620.00   2
HOCANM245675             3      0.00   0      0.00   0
HOUSAM1239242            3      0.00   0  -3113.00   8

file2 :

AY840F3001138842 20050301
AY840F3001140253 20060101
HOCANM245675     34409887        
HOUSAM1239242    34444444

最初の列の共通行に基づいてFile1とFile2をリンクしたいと思います。したがって、出力は次のようになります。

file3:

HOCANM245675             3      0.00   0      0.00   0 34409887
HOUSAM1239242            3      0.00   0  -3113.00   8 34444444

どんな提案がありますか?

ベストアンサー1

join(注:この回答は、質問がコマンドとエラーメッセージで更新される前に作成されました。)

コマンドはと呼ばれますjoin

マニュアルページから:

Join - 共通フィールドにある 2 つのファイルの行を結合します。

入力ファイルがソートされていないため、最初にソートする必要があります。

join <(sort file1) <(sort file2)

この<(...)ようなものが呼ばれます。プロセスの交換そしてbashや他のシェルでサポートされています。シェルがプロセス置換をサポートしていない場合は、中間ファイルを使用する必要があります。

joingnu coreutils の一部なので、最も一般的な gnu/linux システムにインストールする必要があります。

おすすめ記事