シェルスクリプトを使用して、2つのファイルのデータを1つのファイルにマージする必要があります。

シェルスクリプトを使用して、2つのファイルのデータを1つのファイルにマージする必要があります。

ファイル 1 には以下が含まれます。

hour value1           
01    25               
02    24              
03    24               
04    27  
05    30

ファイル 2 には以下が含まれます。

hour   value2   
01     03   
03     05   
05     03

私は結果が次のようになりたいです。

hour value1 value2   
01     25     03  
02     24     00  
03     24     05  
04     27     00  
05     30     03 

ベストアンサー1

$ join -o1.1,1.2,2.2 -a1 -e 00 file1 file2 | column -t
hour  value1  value2
01    25      03
02    24      00
03    24      05
04    27      00
05    30      03

-o1.1,1.2,2.2表示するリレーショナル結合ジョブの出力フィールドを指定します。形式はですfile_number.field_number

-a12番目のファイルのどのエントリとも一致しなくても、1番目のファイルのすべての行を取得したいと言います。

-e 00欠落している値は文字列に置き換える必要があると言います00

これは、両方のファイルが同じ方法でソートされていると仮定します。

おすすめ記事