名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 診断
csplit ユーティリティは、 file オペランドが示すファイルを読み込み、その内容のすべてまたは一部を arg オペランドの指示に従って他のいくつかのファイルに書き出し、その出力ファイルのサイズを表示します。
以下のオプションを指定できます。
生成されるファイルを、順番に prefix00、 prefix01、 . . . 、 prefixn と名付けます。 デフォルトは xx00 . . . xxn です。prefix 引数が長すぎて、生成されるファイル名の長さが 14 バイトを超えてしまう場合はエラーとなります。 その場合、ファイルは 1 つも生成されず、csplit は診断メッセージを伴って終了します。
エラー発生時、デフォルトでは csplit は作成したファイルを削除します。 -k オプションを指定すると、csplit は、作成済みのファイルをそのままにしておきます。
生成するファイル名の可変部分の桁数を number で指定します。デフォルトは 2 です。
生成するファイルのサイズに関する情報を出力しません。
以下のオペランドを指定できます。
分割対象ファイルのパス名。 – を指定すると標準入力とみなされます。
オペランド arg1 . . . argn は、以下の組み合わせで指定できます。
現在の行から、 rexp で示す正規表現の評価 (offset 指定があればそれも考慮) により得られる行の直前の行までを 内容とするファイルを生成します。rexp は、基本的な正規表現の規則に従っていなければなりません。offset は行数を表す正または負の整数で、指定は任意です。指定するときは、符号 + または – を先頭に付加しなければなりません。 なお、この指定に従って行を選択したとき、 生成されるファイルの行数がゼロになってしまう、あるいは 入力ファイル中の行数を超えてしまう場合、処理結果は予測できません。ファイル生成後、現在の行は、正規表現の評価により得られた行に設定されます。rexp のパターンマッチングは、常に現在の行から ファイルの終わりまでが対象となります。
このオペランドは、上記の /rexp/[offset] 指定と同じ意味ですが、入力ファイルから選択した行によるファイルの 生成は行われません。
現在の行から、行番号 line_no で示す行の直前の行までを内容とするファイルを生成します。 生成したファイル中では、各行に 1 から始まる番号が振られます。現在の行は line_no で示す行に移ります。
直前のオペランドを繰り返します。この指定は、上記のどのオペランド の後でも指定できます。 rexp のタイプのオペランドの後に指定すれば、 そのオペランドは num 回繰り返されます。 line_no オペランドの後に指定すれば、ファイルはその位置から line_no 行ごとに num 回だけ分割されます。
オペランドが示す行が、現在の位置からファイルの終わりまでの 間に存在していない場合、エラーが報告されます。
ファイルが 2 ギガバイト ( 231 バイト) 以上ある場合の csplit の動作については、 largefile(5) を参照してください。
次の例は、4つのファイル cobol00 . . . cobol03 を作成します。
example% csplit -f cobol filename '/procedure division/' /par5./ /par16./ |
分割されたファイルを編集した後、 次のようにすると、再度 1 つにまとめることができます。
example% cat cobol0[0–3] > filename |
注意 : この例は、元のファイルを上書きします。
次の例では、100 行毎に 10,000 行までファイルを分割します。 -k オプションは 10,000 行未満しかなくても、作成されたファイルを保存します。ただし、エラーメッセージはそのまま出力されます。
example% csplit -k filename 100 {99} |
prog.c が通常の C のコード化規則 (ルーチンの最後の行の1文字目が } だけである) に従っていれば、 この例では、 prog.c 中の C ルーチン (21個まで) に対し、それぞれファイルを作成します。
example% csplit -k prog.c '%main(%' '/‸}/+1' {20} |
csplit の実行に影響を与える環境変数 LC_COLLATE
、LC_CTYPE
、 LC_MESSAGES
、NLSPATH
についての詳細は、 environ(5) を参照してください。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
使用条件 | SUNWesu |
CSI | 対応済み |
診断メッセージは、次に示すもの以外は、メッセージテキストを 読めば意味がわかるようになっています。
指定された引数が、現在の位置とファイルの終わりまでの間に存在する行を指してしないことを意味します。
名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 診断