csplit

ファイルを文脈ベースで分割する

csplit - ファイルを文脈ベースで分割する csplit [ -kqsz ] [-b SUFFIX] [-f PREFIX] [-n DIGITS] [--digits=DIGITS] [--elide-empty-files] [--keep-files] [--prefix=PREFIX] [--quiet] [--silent] [--suffix=SUFFIX] [FILE]
csplit [ --help ] [ --version ]
csplitFILE の各セクション(section)の内容を持つ 0 個以上の出力ファイルを作成する。 FILE が一つも与えられないと標準入力から読み込む。また FILE が ` - ' だった場合には、そのファイルには標準入力が用いられる。
出力ファイルの内容は PATTERN 引数によって決まる。 PATTERN 引き数で指定される行が入力ファイルに存在しない場合はエラーとなる (例えば、与えられた正規表現にマッチする行が残っていない場合など)。 すべての PATTERN がマッチしおわったら、入力の残りは最後の出力ファイルにコピーされる。
出力ファイルのファイル名は二つの部分からなっている。 前半部のデフォルト名は `xx' である。 デフォルトでは後半部は 2 桁の 10 進数で、 `00' から `99' まで順にカウントアップされて行く。 いずれの場合でも、出力ファイルを名前でソートして順に結合させると、 入力ファイルが得られるようになっている。
デフォルトでは、 csplit はそれぞれの出力ファイルを作成した後に、 それに書き出したバイト数を表示する。
csplit がエラーになったり、 hangup, interrupt, quit, terminate 各シグナルを受け取った場合には、 デフォルトではそれまでに作られた出力ファイルは消去される。
-b SUFFIX, --suffix=SUFFIX
SUFFIX を出力ファイル名の後半部に用いる。 SUFFIX には、 printf(3) 形式の変換文字列を一つだけ指定しなければならない。 書式指定フラグ、文字列の幅、精度指定なども指定できる。変換指定 文字列は整数を可読なかたちで出力するものでなければならない。 書式は整数値を可読な形式に変換するものでなければならない。したがって 使えるのは ` d ', ` i ', ` u ', ` o ', ` x ', ` X ' に限られる。 suffix 文字列はすべて(現在の出力ファイルが何番目かを示す数値と共に) sprintf (3) 関数に渡され、それぞれの出力ファイルに応じた名前が順番に出力される。 このオプションが指定されると、 --digits オプションは無視される。
-f PREFIX, --prefix=PREFIX
出力ファイル名の前半部を PREFIX にする。
-k, --keep-files
エラーが起こったとき、 それまでに作成した出力ファイルを消去しないようにする。
-n DIGITS, --digits=DIGITS
出力ファイル名の数値部分の桁数をデフォルト値の 2 から DIGITS に変更する。
-q, -s, --quiet, --silent
出力ファイルのサイズを表示しない。
-z, --elide-empty-files
大きさ 0 の出力ファイルを作らないようにする。 (セクション区切りが入力の最初の行にきた場合、 このオプションを指定していなければ対応する出力ファイルの大きさは 0 になる)。 なお出力ファイルの順番を示す番号は、 このオプションが指定された場合でも、 常に 0 から連続してカウントされる。
--help
標準出力に使用方法のメッセージを出力して正常終了する。
--version
標準出力にバージョン情報を出力して正常終了する。
N
N には正の整数を指定する。出力ファイルを作成し、 入力ファイルの内容を行番号が N になるまで書き込む (ただし line の行は書き込まない)。 この後に繰り返し回数を指定すると、 それぞれ N 行分の入力ファイルの内容を含む出力ファイルを作成する。
/REGEXP/[OFFSET]
出力ファイルを作成し、入力ファイルのうち REGEXP にマッチする行の前までの内容を書き込む (マッチ行は含まない)。 OFFSET を付加することもでき、これは ` + ' または ` - ' に正の整数を続けて指定する。 OFFSET が指定されるとマッチ行に OFFSET の値を増減した行までが出力される。 入力ファイルの残りは次のセクションの入力として利用される。
%REGEXP%[OFFSET]
直前の形式と同様だが、出力ファイルが作成されない。 したがって入力ファイルの該当するセクションは無視されることになる。
{REPEAT-COUNT}
直前のパターンを REPEAT-COUNT の回数だけ余計に繰りかえす。 REPEAT-COUNT には正の整数かアスタリスクが指定できる。 アスタリスクの場合は、 入力ファイルが終わるまで直前のパターンを繰り返す。
プログラムのバグについては bug-textutils@gnu.org に報告してください。 man ページは Ragnar Hojland Espinosa <ragnar@ragnar-hojland.com> が作成しました。