
paste
次のように、単一の列入力で複数の列を含むファイルを作成できます。
some_command | paste - -
some_command
この方法は、データが列の主要な形式で生成されるときに機能します。つまり、次のように入力します。
1
2
3
4
結果出力
1 2
3 4
しかし、私はその逆を望んでいます。
1 3
2 4
背景:すべて集めたい窒素列 'ソース:中サイズファイルは集約ファイルにマージされます。私はこれを使ってこれをやろうとしています。
cut -f 5 "${files[@]}" | paste - - - - - …
(そして中サイズ -
S)。ただし、述べたように、これはpaste
サーマルマスター入力で期待どおりに機能しません。私はcoreutils(または純粋なBash)ソリューションが必要だとは思わないかもしれません。
答え1
質問を正しく理解したら、次のことを試すことができますpr
。
cut -f 5 "${files[@]}" | pr -5 -s' ' -t -l 40
ここでは-5
、列数、-s' '
は区切り文字(スペース)、-l 40
はページ長(40行)です。
そうでなければ、人々はいくつかを作るためにcoreutils
使用することができます。split
窒素ライン:
分割-l窒素ネペレ
または
いくつかのコマンド分割-l窒素
それからpaste
彼らは一緒にいます。
paste x* > outfile
rm x*