awkを介して2つのファイルをマージする方法

awkを介して2つのファイルをマージする方法

これは私のものです。1.file

             id
             a1
             a2
             a3
             a4

これは私のものです。2.file

             DW  1  2  3  4
             KD  2  3  4  5
             LBJ 4  4  4  4

最終ファイルを受け取りたいです。

             id  a1 a2 a3 a4
             DW  1  2  3  4
             KD  2  3  4  5
             LBJ 4  4  4  4
            

頑張る

cat 1.file |tr "\n" "\t"|sed -e 's/,$/\n/'

それから

cat 1.file 2.file >> fina.file

awkしかし、私は方法を探したいです。

ベストアンサー1

$ column -t <( paste -s 1.file ) 2.file
id   a1  a2  a3  a4
DW   1   2   3   4
KD   2   3   4   5
LBJ  4   4   4   4

行は1.file単一行ヘッダーに変換され、paste -sそのcolumn -tヘッダーをのデータと並べ替えるために使用されます2.file

上記は、プロセスの置き換えを理解するシェルを使用していると仮定しています<(...)。そうでない場合は、代わりに以下を使用してください。

paste -s 1.file | column -t /dev/stdin 2.file

おすすめ記事