2つ以上のファイルで構成される列のマージと追加

2つ以上のファイルで構成される列のマージと追加

図のような内容を含む「N」個のファイルがあり、5番目の列をマージして追加したいと思います。

ファイルはタブで区切られます。

上記のスクリーンショットに表示されている内容を含む「N」個のファイルがあります。私はそれらをマージして5番目の列を追加したいと思います。最初の4列は同じです。

awkファイル1と2に対して次のコマンドを試しました。

awk 'NR==FNR{a[NR]=$0;next} {print a[FNR] "\t",$5}' file1 file2

2つ以下のファイルのみを追加します。

または、他のツールを使用してawkこれを正しく実行するにはどうすればよいですかpaste

ベストアンサー1

最初の4つの列がファイル内で同じ場合は、次のコマンドを実行できます。

set -- file*
fields="-f-5,$(seq -s, 10 5 $((5*$#)))"
paste "$@" | cut ${fields%?} >outfile

pasteこれにより、すべてのファイルに対してフィールド1〜5以降の5つのフィールドごとに抽出されます。

おすすめ記事