utte

paste 複数のファイルを行ごとに横に並べて結合する

paste [オプション] [ファイル...]

試してみる

主なオプション

-d 区切り文字結合の区切りを指定する(既定はタブ)
-sファイルごとに全行を1行へつなげる

解説

基本

paste は、複数のファイルの同じ行番号の行を、横につなげて出力します。cat が縦につなげるのに対して、paste は横につなげます。cut で取り出した列を、あとから組み合わせて、1つの表にするときに使えます。

区切り文字

既定の区切りはタブです。-d で変えられます。-d に複数の文字を渡すと、区切りごとに順番に使い、最後まで来たら先頭に戻ります。-d ',;' なら、1つ目の区切りはカンマ、2つ目はセミコロンです。

行の長さがそろわないとき

行数が少ないファイルの分は、空の項目になります。

直列にする(-s)

-s を付けると、行方向と列方向が入れ替わり、1つのファイルのすべての行が、区切りでつながった1行になります。リストをカンマ区切りの1行にするときに便利です。

join との違い

paste は、行番号が同じ行をただ並べます。共通の項目(キー)が同じ行同士を結合したいときは、join を使います。

関連するコマンド

LinuC 101の出題範囲