行のメイン入力に貼り付けを使用する

行のメイン入力に貼り付けを使用する

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*

おすすめ記事