形式
- cut –b list [-Bn]
[-W option[,option]...] [file…]
- cut –c list [-B] [-W option[,option]...] [file…]
- cut –f list [–d char]
[–Bs] [-W option[,option]...] [file…]
説明
cut は、file 引数で指定された各ファイルから入力を読み取り、入力行のセクションを選択して標準出力 (stdout) にコピーします。file をまったく指定しなかった場合、またはファイル名に – を指定した場合は、cut は標準入力 (stdin) から読み取ります。
オプション
- –B
- タグ付きファイルの自動変換を使用不可にします。filecodeset または pgmcodeset オプション (-W オプション) が指定されている場合、このオプションは無視されます。
- –b list
- バイト位置モードを起動します。この後に、表示したいバイト位置のリストが来ます。この
リストには、コンマ (,) またはブランクで分離された複数のバイト位置、またはダッシュ (–) で分離された位置の範囲を含めることができます。リストは単一の引数でなければならないため、ブランクを使用する場合はシェルの引用符が必要になります。
これらを組み合わせることによって、入力の任意のバイト位置を選択することができます。
ガイドライン: 2 バイト文字
に対して –b オプションを使用するときは、–n オプションも使用して、文字全体が確実に表示されるようにする必要があります。–n オプションを指定しなかった場合
は、cut は範囲の下位バイトを文字の最初のバイトと想定し、範囲の上位バイトを文字の最後のバイトと想定するため、これらのバイト位置の文字が誤って解釈される可能性があります。
- –c list
- 文字位置モードを起動します。この後に、出力に保存する文字位置のリストが来ます。このリストに
は、コンマ (,) またはブランクで分離された多くの文字位置、または
ダッシュ (–) で分離された多くの位置範囲を含めることができます。リストは単一の引数でなければならないため、ブランクを使用する場合はシェルの引用符が必要になります。
これらを組み合わせることによって、入力の任意の文字位置を選択することができます。
- –d char
- char を、入力データ内のフィールドを分離する文字として指定します。デフォルトでは、これは水平タブです。
- –f list
- フィールド区切りモードを起動します。この後に、表示したい
フィールドのリストが来ます。–c モードで文字位置の範囲および複数の文字位置を指定したのと
同じ方法で、フィールドの範囲および複数のフィールド番号を指定することができます。
- –n
- 文字を分割しません。選択された範囲の下位バイトが文字の最初のバイトでない
場合、cut は文字全体が含まれるように範囲を下方へ拡張します。選択された範囲の上位バイトが文字の最後のバイトでない
場合、cut は選択された上位バイトの前の最後の完全な文字だけが
含まれるように範囲を限定します。–n が選択された場合、cut は 1 つの
完全な文字より狭い範囲はリストしません。そして、これらの範囲はエラーにはなりません。
- –s
- フィールド分離文字を含まない行を表示しません。通常は、cut はフィールド分離文字を含まない行を 1 つのものとして
表示します。
- -W option[,option]...
- z/OS 固有のオプションを指定します。オプションのキーワードは、大/小文字が区別されます。指定可能なオプションは、以下のとおりです。
- filecodeset=codeset
- ファイルの読み取り時に、あるコード・セットから別のコード・セットへのテキスト変換を実行します。ファイルのコード化文字セットは codeset です。codeset は、システムに認識されているコード・セット名かコード化数字セット ID (CCSID) のいずれかです。コマンド iconv
-l は、既存の CCSID とそれらに対応するコード・セット名をリストすることに留意してください。どんなファイル・タグを含むファイルであっても、filecodeset および pgmcodeset オプションを使用できます。
pgmcodeset を指定したが filecodeset を省略した場合、ファイルが別のコード・セットでタグ付けされていても、ファイルのデフォルトのコード・セットは ISO8859-1 です。filecodeset と pgmcodeset のいずれも指定しない場合、自動変換が有効であるか、_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 です。filecodeset と pgmcodeset のいずれも指定しない場合、自動変換が有効であるか、_TEXT_CONV 環境変数にテキスト変換が指定されていない限り、テキスト変換は実行されません。
テキスト変換について詳しくは、z/OS UNIX シェル・コマンドのテキスト変換を制御するを参照してください。
filecodeset または pgmcodeset を指定した場合、このコマンドの呼び出しに対する自動変換は無効となり、-B オプションを指定しても無視されます。自動変換について詳しくは、「z/OS UNIX System Services 計画」を参照してください。
制約事項: pgmcodeset のサポートされる値は、IBM-1047 と 1047 のみです。
例
- 作業ディレクトリー内のファイルの作成日および名前が含まれるリストを表示するには、以下のように指定します。
ls –al | cut –c 42–48,54–66
- 次のことを前提として、ASCII 文字を含むファイルの各行の最初のフィールドを標準出力 (stdout) に表示するとします。
- テキスト・ファイルはタグ付けされておらず、そのテキスト・ファイルをタグ付けしたり、自動変換を有効にしたりする予定がない。
- タグを変更できない (例えば、タグ付けされていない public テキスト・ファイルまたは読み取り専用のテキスト・ファイルを表示しているなど)。
以下のコマンドを発行します。 cut -f 1 -W filecodeset=ISO8859-1,pgmcodeset=IBM-1047 myAsciiFile
- EBCDIC 文字を含むファイルの各行の 2 番目のバイトを標準出力 (stdout) に表示するには、以下のコマンドを発行します。
ただし、自動変換が有効にされているが、テキスト・ファイルが UTF-8 として誤ってタグ付けされていることを前提とします。
cut -b 2 -B myMisTaggedFile
ローカライズ
cut は、以下のローカライズ環境変数を使用します。
- LANG
- LC_ALL
- LC_CTYPE
- LC_MESSAGES
- NLSPATH
詳しくは、ローカライズを参照してください。
環境変数
cut は、以下の環境変数を使用します。
- _TEXT_CONV
- コマンドのテキスト変換情報が含まれます。-B オプション、あるいは filecodeset または pgmcodeset オプション (-W option) のいずれかが指定されている場合、テキスト変換情報は使用されません。テキスト変換について詳しくは、z/OS UNIX シェル・コマンドのテキスト変換を制御するを参照してください。
終了値
- 0
- 正常終了
- 1
- 以下のいずれかの理由による失敗
- 入力ファイルを開くことができない
- メモリー不足
- コード・セットが無効である
- 自動変換をオフにできなかった
- 要求されたテキスト変換を実行できなかった
- 2
- 以下のいずれかの理由による失敗
- コマンド行の引数が正しくない
- –b、–c、または –f のいずれも指定されなかった
- list 引数が省略されている
- list 引数の形式が正しくない
移植性
POSIX.2, X/Open 移植性ガイド, UNIX System V.
–B および -W オプションは、POSIX 標準の拡張です。