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