csplit コマンドは、指定したパターンや行番号に基づいてファイルを分割するためのコマンドです。PWB UNIX で登場し、現在では GNU coreutils にも含まれています。

基本的な使い方

編集
  
csplit [オプション] ファイル パターン...

主なオプション(GNU coreutils 版)

編集
主なオプション
オプション 説明
-b, --suffix-format=FORMAT 出力ファイルの接尾辞フォーマットを指定
-f, --prefix=PREFIX 出力ファイルの接頭辞を指定
-k, --keep-files 分割後にエラーが発生しても既存の出力ファイルを保持
-n, --digits=DIGITS 出力ファイルの番号の桁数を指定
-s, --silent, --quiet 処理中の情報を表示しない
--help 使用方法を表示
--version バージョン情報を表示

指定した行でファイルを分割

編集
  
csplit file.txt 100

file.txt の 100 行目で分割し、xx00xx01 というファイルを作成。

3 つの分割点を指定

編集
  
csplit file.txt 50 100 150

50 行目、100 行目、150 行目で分割し、それぞれ xx00xx01xx02xx03 を作成。

正規表現を使って分割

編集
  
csplit file.txt '/pattern/'

file.txt の最初の pattern に一致する行で分割。

分割ファイルのプレフィックスを変更

編集
  
csplit -f part_ file.txt 100

分割ファイルの名前を part_00, part_01 にする。

分割ファイルの拡張子フォーマットを変更

編集
  
csplit -b ".%03d" file.txt 100

出力ファイルの拡張子を xx.000, xx.001 のようにする。

詳しくは、それぞれの環境で man csplit を確認してください。