本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 1 : ユーザーコマンド (A~M) > c

csplit(1)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

csplit ― コンテキスト分割

構文

csplit [-s] [-k] [-f prefix] [-n number] file arg1 [...argn]

説明

csplitfile を読み込み、引き数 arg1 ... argn により定義されるように n+1 セクションに分割し、結果を別のファイルに入れます。 -n number オプションを使用してより多くの出力ファイル名を許容しない限り arg1 から argn) 引き数の最大許容数は、 99 です。 -f prefix オプションを指定すると、生成するファイル名は prefix00 から prefixNN です。ただし、 NNn の 2 桁の値で、 n が 10 より小さいときは前にゼロを付けます。 -f prefix オプションを指定しなければ、 xx00 から xxNN のデフォルトファイル名が使用されます。 file は以下のように分割されます。

  • デフォルトプリフィックス付き 
    ファイル名ファイル名内容
    xx00prefix00file の先頭から、arg1 により参照される行 (しかし、この行は含まれません) まで。
    xx01prefix01arg1 により参照される行から、arg2 により参照される行まで。
          .
          .
          .
    xxNNprefixNNargn により参照される行から、file の終端まで。

file 引き数が - の場合、標準入力が使用されます。

csplit は基本正規表現の構文をサポートします ( regexp(5) を参照)。

オプション

csplit は以下のオプションを認識します。

-s  

すべての文字カウントのプリントを抑止します (csplit は通常、作成されたファイルごとに文字カウントをプリントします)。

-k  

以前に作成されたファイルをそのままにしておきます (csplit は通常、エラーが発生すると作成されたファイルを削除します)。

-f prefix 

作成されたファイル prefix00 から prefixNN に名前を付けます (デフォルトは xx00 から xxNN です)。

-n number 

出力ファイル名のサフィックスの桁数は、デフォルトの 2 ではなく number の桁数を使用します。 これにより、100 個を超える出力ファイルを作成できます。

csplit への引き数 arg1 から argn) は、以下の任意の組合わせが可能です。

/regexp/ 

現在の行から正規表現 regexp に一致する行 (その行は含まない) までのセクションを含むファイルを作成します。 新しい現在の行は regexp に一致する行になります。

/regexp/+n 

/regexp/-n 

現在の行から 正規表現 regexp に一致する 前へ (-n) n 番目または後へ (+n) n 番目の 行 (その行は含まない) までのセクションを含むファイルを作成します (例えば、 /Page/-5)。 新しい現在の行は、 regexp\+_n の行に一致するものになります。

%regexp% 

そのセクションに対してファイルが作成されない点を除いて /regexp/ と等価です。

line_number  

現在の行から line_number (その行は含まない) までのファイルを作成します。 新しい現在の行は line_number になります。

{num} 

引き数を繰り返します。 この引き数は、上記の任意の引き数形式の後に置けます。 regexp 引き数の後の場合、その引き数は別に num 回適用されます。 line_number の後の場合、その位置からファイルの終端に達するか、または num が終わるまでファイルは num 回各 line_number 行に分割されます。

{*} 

入力が終わるのに必要なだけ前のオペランドを繰り返します。

空白、またはシェルにとって意味のある他の文字を含む regexp 引き数はすべて適切な引用符で囲んでください。 正規表現には、埋め込まれた改行を含んではなりません。 csplit は、オリジナルファイルを変更または削除しません。 適切なときにユーザーが削除する必要があります。

多言語化対応

環境変数

LC_COLLATE は、正規表現を評価する際使用される照合順序を決定します。

LC_CTYPE は、正規表現における文字クラス式によって一致する文字を決定します。

LC_MESSAGES は、メッセージの表示に使われる言語を指定します。

LC_COLLATE、 LC_CTYPE、 または LC_MESSAGES が環境で指定されない、または空の文字列に設定された場合、 LANG の値はそれぞれ未指定または空の変数のデフォルトとして使用されます。 LANG が指定されない、または空の文字列に設定された場合、 LANG ではなく"C"( lang(5) を参照) のデフォルトが使用されます。 多言語化対応変数に無効な設定値が含まれる場合、 csplit はすべての多言語化対応変数が"C"に設定されているものとして動作します。 environ(5) を参照してください。

サポートされるコードセット

シングルおよびマルチバイトの文字コードセットがサポートされています。

診断

以下の場合を除いて説明を要しません。

arg - out of range 

これは、与えた引き数が現在位置およびファイルの終端との間の行を参照しなかったことを示します。 また、繰返しカウント分が完了する前にファイルの内容がなくなってしまった場合にも、この警告は発生します。

cobol00 から cobol03 まで 4 つのファイルを作成します。 「分割」ファイルのエディット後、それらを元のファイルに再結合して前の内容を破壊します。

csplit -f cobol file '/procedure division/' /par5./ /par16./ 

エディット操作を行います。

cat cobol0[0-3] > file 

10,000 行まで 100 行ごとにファイルを分割します (100 ファイル)。 10,000 行より少ない場合 -k オプションで、 作成されたファイルは保持されます (しかし、エラーメッセージはプリントされます)。

csplit -k file 100 '{99}' 

行頭に置いてルーチンは } で終了するという通常の C コーディング規約に prog.c が従うとすれば、 prog.c でそれぞれ別の C ルーチン (最大 21 個) を含むファイルを作成します。

csplit -k prog.c '%main(%' '/^}/+1''{20}' 

参照

sh(1), split(1), environ(5), lang(5), regexp(5)

標準準拠

csplit: SVID2, SVID3, XPG2, XPG3, XPG4

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.