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 です。
すべてのパターンが処理されると、残りの入力データ (もしあれば) は、新規ファイルに書かれます。
現在の行より前での分割や、ファイルの終端より後での分割を要求すると、エラーになります。
終了ステータス
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}'
規格
csplit ユーティリティは、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。歴史
csplit コマンドは、PWB UNIX で登場しました。バグ
入力行は、長さが LINE_MAX (2048) バイトに制限されます。December 24, 2008 | FreeBSD |