EN JA
CSPLIT(1)
CSPLIT(1) FreeBSD General Commands Manual CSPLIT(1)

名称

csplit文脈に応じたファイルの分割

書式

csplit [ -ks][ -f prefix][ -n number] file args ...

解説

csplit ユーティリティは、パターン args を使用して file を分割します。 file がダッシュ (‘ -’) の場合、 csplit は、標準入力から読み込みます。

ファイルは、“xx”と 2 桁の 10 進数字の接頭辞をつけて作成されます。それぞれのファイルのサイズは、作成されるとき、標準出力に書き込まれます。ファイルが作成されている間にエラーが起こるか、または HUP, INT または TERM シグナルが受信されているなら、以前に書き込まれたすべてのファイルは、削除されます。

オプションは、次の通りです:

-f prefix
接頭辞“ xx”の代わりに prefix で始まるファイル名を作成します。
-k
エラーが起こるか、または HUP, INT または TERM シグナルが受信されても、以前に作成されたファイルを削除しません。
-n number
2 桁の代わりに接頭辞の後に 10 進数字の number 桁で始まるファイル名を作成します。
-s
各出力ファイル作成時に、それらの大きさを標準出力へ書きません。

args オペランドは、次のパターンの組み合わせです:

/ regexp /[ [ +| -] offset]
入力の、現在の行から、指定された基本正規表現 (これを含みません) までからなるファイルを作成します。省略可能な offset を指定すると、その行からマッチがとられます。
% regexp %[ [ +| -] offset]
上記と同じですが、出力ファイルは、作成されません。
line_no
入力の、現在の行から、指定された行番号 (これを含みません) までからなるファイルを作成します。
{ num }
直前のパターンを指定した回数繰り返します。これが行番号パターンに続く場合、 num 回にわたり、 line_no 行毎に新規ファイルが作成されます。ファイルの最初の行は、歴史的な理由から行番号 1 です。

すべてのパターンが処理されると、残りの入力データ (もしあれば) は、新規ファイルに書かれます。

現在の行より前での分割や、ファイルの終端より後での分割を要求すると、エラーになります。

環境変数

LANG, LC_ALL, LC_COLLATE, LC_CTYPE の環境変数が、 environ(7) の記述通りに、 csplit の実行に影響します。

終了ステータス

The csplit utility exits 0 on success, and >0 if an error occurs.

使用例

mdoc(7) ファイル foo.1 を、各セクション毎に 1 ファイルへと分割します (最大 20 個):

csplit -k foo.1 '%^\.Sh%' '/^\.Sh/' '{20}'

最初の 99 行の後およびその後の 100 行毎に、標準入力を分割します。

csplit -k - 100 '{19}'

関連項目

sed(1), split(1), re_format(7)

規格

csplit ユーティリティは、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。

歴史

csplit コマンドは、PWB UNIX で登場しました。

バグ

入力行は、長さが LINE_MAX (2048) バイトに制限されます。
December 24, 2008 FreeBSD