同じファイルの複数の列をマージする方法は?

同じファイルの複数の列をマージする方法は?

以下のように3つのファイルがあります。

FILE 1: 
DATE      PGTO_CRED
20180801    50.00
20180802    150.00
20180803    130.00
20180804    110.00
20180805    200.00

FILE 2: 
DATE       PGTO_TOTAL
20180801    150.00
20180802    300.00
20180803    200.00
20180804    250.00
20180805    400.00

FILE 3: 
DATE       PGTO_FEE
20180801    35.00
20180802    10.00
20180803    25.00
20180804    140.00
20180805    135.00

次の出力ファイルが必要です。

DATE    PGTO_CRED   PGTO_TOTAL  PGTO_FEE
20180801    50.00   150.00      35.00
20180802    150.00  300.00      10.00
20180803    130.00  200.00      25.00
20180804    110.00  250.00      140.00
20180805    200.00  400.00      135.00

Redhat Linuxでこれを行う方法は?

ベストアンサー1

多くのツールがこれを行うことができます。おそらくawk最初に浮上するツールでしょう。ただし、join入力がすでにソートされている場合(例と同様)、このコマンドをお勧めします。

join file1 <(join file2 file3) | column -t

これはcolumn -t出力をきれいに整列させるためであるため、削除できます。

出力:

DATE      PGTO_CRED  PGTO_TOTAL  PGTO_FEE
20180801  50.00      150.00      35.00
20180802  150.00     300.00      10.00
20180803  130.00     200.00      25.00
20180804  110.00     250.00      140.00
20180805  200.00     400.00      135.00

おすすめ記事