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や他のシェルでサポートされています。シェルがプロセス置換をサポートしていない場合は、中間ファイルを使用する必要があります。
join
gnu coreutils の一部なので、最も一般的な gnu/linux システムにインストールする必要があります。