PASTE(1V) — NEWS-OS Programmer’s Manual
名称
paste − 複数のファイルの対応する行 または 1 つのファイル の連続する行のマージ
形式
paste file1 file2 ...
paste −dlist file1 file2 ...
paste −s [ −dlist ] file1 file2 ...
解説
最初の 2 例では、 paste は指定された入力ファイル file1、file2 などの対応する行を連結します。 各ファイルはテーブルの 1 つのカラムまたは複数のカラムとして扱われ、 水平に連結されます(並列マージ)。 つまりは、垂直に連結する(ファイルを別のファイルの後に連結する) cat(1) コマンドと対をなします。 最後の例では、 paste は入力ファイルの連続する行を結合することで、 同名の古いコマンドの機能を置き換えます(逐次マージ)。 全ての場合、各行はタブまたはオプションで指定した リストからの文字が付加されます。 出力は標準出力へ行われるので、パイプの先頭に使用できます。 また、ファイル名の代わりに − を使用すると、フィルタとして使用できます。
−d 省略した場合、最後のファイルを除く各ファイルの改行文字 (−s オプション指定時の最終行)はタブに置き換えられます。 このオプションによって タブを 1 つ以上の代替文字(下記参照)に置き換えることができます。
list −d の直後の 1 つ以上の文字は、 デフォルトのタブに代って行連結文字となります。 そのリストは循環的に使われます。 つまり、最後の文字まで使ったときには、再度先頭から使用されます。 並列マージ(すなわち −s オプション省略時)では、最終ファイルの各行は list の文字ではなく、改行で終わります。 リストには次のような特殊エスケープシーケンスも使用できます: \n (改行)、 \t (タブ)、 \\ (バックスラッシュ)、および \0 (空文字列、ナル文字ではない)。 文字がシェルに対して特別の意味を持つ場合、 引用符が必要になります(例えば、 バックスラッシュの場合には −d"\\" を使用)。
−s 各入力ファイルから一行ずつマージする代わりに、連続行をマージします。 −d オプションで list を指定しない場合、タブで連結します。 list の内容にかかわらず、ファイルの最終文字は強制的に改行とされます。
− 標準入力から行を読み込むために、ファイル名の代りとして使用します。 (プロンプトは無し)
使用例
ls │ paste −d" " − 1 カラムにディレクトリを出力。
ls │ paste − − − − 4 カラムにディレクトリを出力。
paste −s −d \t\n" file 2 行ずつ連結。
関連事項
自己診断
line too long
各出力行は 1023 文字に制限されています。
too many files
−s オプションを指定した場合を除いて、 13 以上の入力ファイルを指定することはできません。
NEWS-OSRelease 4.2.1R