paste - ファイルの対応行または後続行をマージする

形式

paste [–Bs] [–d list] [-W option[,option]...] file …

説明

paste は、指定された入力ファイルの行をすべて連結して、標準出力に出力します。ファイルの代わりに – (ダッシュ) を指定した場合、paste は標準入力を 使用します。通常、出力行は、すべての入力ファイルからの対応する行で構成されます。paste は、各入力行の末尾の改行文字 (コマンド行の最後のファイルからのものを除く) を、タブ文字または –d オプションで指定された文字に置き換えます。

オプション

–B
タグ付きファイルの自動変換を使用不可にします。filecodeset または pgmcodeset オプション (-W オプション) が指定されている場合、このオプションは無視されます。
–d list
入力行の末尾の改行を置き換えるために、タブ文字の代わりに 1 つずつ使用する文字のリストを指定します。 2 バイト・ロケールでは、list に 2 バイト文字を入れることができます。pastelist を循環して使用します。list 内の文字を使用し尽くすと、リストの先頭の文字に戻ります。–s オプションも指定した場合、paste は各ファイルを処理した 後、list 内の先頭の文字に戻ります。それ以外の場合、出力の各行の後で、先頭の文字に戻ります。

list には、¥n¥t¥r¥b¥¥、お よび ¥0 などの標準 C エスケープのどれでも含めることができます。ここで、¥0 は区切り文字が何も使用されないことを示します。

–s
各入力ファイルからのすべての行を一緒に連結して、単一の出力行にします。–s オプションが指定されていない場合に、いずれかの (しかし全部ではない) 入力ファイルがファイルの終わりを 検知した場合、paste は、それらのファイルから空の行が 読み取られたかのように処理します。
-W option[,option]...
z/OS 固有のオプションを指定します。オプションのキーワードは、大/小文字が区別されます。指定可能なオプションは、以下のとおりです。
filecodeset=codeset
ファイルの読み取り時に、あるコード・セットから別のコード・セットへのテキスト変換を実行します。ファイルのコード化文字セットは codeset です。codeset は、システムに認識されているコード・セット名かコード化数字セット ID (CCSID) のいずれかです。コマンド iconv -l は、既存の CCSID とそれらに対応するコード・セット名をリストすることに留意してください。どんなファイル・タグを含むファイルであっても、filecodeset および pgmcodeset オプションを使用できます。

pgmcodeset を指定したが filecodeset を省略した場合、ファイルが別のコード・セットでタグ付けされていても、ファイルのデフォルトのコード・セットは ISO8859-1 です。filecodesetpgmcodeset のいずれも指定しない場合、自動変換が有効であるか、_TEXT_CONV 環境変数にテキスト変換が指定されていない限り、テキスト変換は実行されません。 テキスト変換について詳しくは、z/OS UNIX シェル・コマンドのテキスト変換を制御するを参照してください。

filecodeset または pgmcodeset を指定した場合、このコマンドの呼び出しに対する自動変換は無効となり、-B オプションを指定しても無視されます。自動変換について詳しくは、「z/OS UNIX System Services 計画」を参照してください。

filecodeset の値を指定するときは、Unicode Service でサポートされる値を使用します。サポートされるコード・セットについて詳しくは、「z/OS Unicode Services ユーザーズ・ガイドおよび解説書」を参照してください。

pgmcodeset=codeset
ファイルの読み取り時に、あるコード・セットから別のコード・セットへのテキスト変換を実行します。プログラム (コマンド) のコード化文字セットは codeset です。codeset は、システムに認識されているコード・セット名かコード化数字セット ID (CCSID) のいずれかです。コマンド iconv -l は、既存の CCSID とそれらに対応するコード・セット名をリストすることに留意してください。どんなファイル・タグを含むファイルであっても、filecodeset および pgmcodeset オプションを使用できます。

filecodeset が指定されているが pgmcodeset が省略されている場合、デフォルトのプログラム・コード・セットは IBM-1047 です。filecodesetpgmcodeset のいずれも指定しない場合、自動変換が有効であるか、_TEXT_CONV 環境変数にテキスト変換が指定されていない限り、テキスト変換は実行されません。 テキスト変換について詳しくは、z/OS UNIX シェル・コマンドのテキスト変換を制御するを参照してください。

filecodeset または pgmcodeset を指定した場合、このコマンドの呼び出しに対する自動変換は無効となり、-B オプションを指定しても無視されます。自動変換について詳しくは、「z/OS UNIX System Services 計画」を参照してください。

制約事項: pgmcodeset のサポートされる値は、IBM-1047 と 1047 のみです。

  1. ls 出力を タブで区切られた 3 つのカラムに表示するには、以下のコマンドを発行します。
    ls | paste - - -
  2. 次のことを前提として、UTF-8 文字が含まれている 2 つのテキスト・ファイルの行を連結するとします。
    • テキスト・ファイルはタグ付けされておらず、そのテキスト・ファイルをタグ付けしたり、自動変換を有効にしたりする予定がない。
    • タグを変更できない (例えば、タグ付けされていない public テキスト・ファイルまたは読み取り専用テキスト・ファイルを表示しているなど)。
    この場合は、以下のコマンドを発行します。
    paste -W filecodeset=UTF-8,pgmcodeset=IBM-1047 myUtf8File01 myUtf8File02
  3. EBCDIC 文字が含まれている 3 つのテキスト・ファイルの行を連結するには、 以下のコマンドを発行します。ただし、自動変換が有効にされているが、両方のテキスト・ファイルが ASCII として誤ってタグ付けされていることを前提とします。
    paste -B myMisTaggedFile01 myMisTaggedFile02 myMisTaggedFile03
  4. ファイル A に以下の行
    a
    b
    c
    が含まれており、ファイル X に以下の行
    x
    y
    z
    が含まれている場合、次のコマンド
    paste A X
    を発行した場合、以下が作成されます。
    a      x
    b      y
    c      z
    次のコマンド
    paste –s A X
    を発行した場合、以下が作成されます。
    a      b      c
    x      y      z

ローカライズ

paste は、以下のローカライズ環境変数を使用します。
  • LANG
  • LC_ALL
  • LC_CTYPE
  • LC_MESSAGES
  • LC_SYNTAX
  • NLSPATH

詳しくは、ローカライズを参照してください。

環境変数

paste は、以下の環境変数を使用します。
_TEXT_CONV
コマンドのテキスト変換情報が含まれます。-B オプション、あるいは filecodeset または pgmcodeset オプション (-W option) のいずれかが指定されている場合、テキスト変換情報は使用されません。テキスト変換について詳しくは、z/OS UNIX シェル・コマンドのテキスト変換を制御するを参照してください。

終了値

0
正常終了
1
以下のいずれかによる失敗。
  • 指定されたファイルが多すぎる
  • ファイルを開くことができない
  • コード・セットが無効である
  • 自動変換をオフにできなかった
  • 要求されたテキスト変換を実行できなかった
2
以下のいずれかによる失敗。
  • コマンド行のオプションが正しくない
  • 入力ファイルが欠落している

メッセージ

以下の エラー・メッセージが出される可能性があります。
Too many files at name
paste が処理できるよりも多くのファイルが指定されました。エラー・メッセージで指定された名前は、paste が開くことができなかった 最初のファイルの名前です。paste が開くことのできるファイルの数は、他のプロセスが開いているファイルの数に依存します。

移植性

POSIX.2, X/Open 移植性ガイド, UNIX System V.

–B および -W オプションは、POSIX 標準の拡張です。

関連情報

cut