ablog

不器用で落着きのない技術者のメモ

csplit で 99 ファイル以上に分割する

csplit コマンドは正規表現で特定の文字列が出現したらファイルを分割することができる。
デフォルトで分割数は最大で 99 ファイルまでだが、分割数の上限を増やしたい場合は -n オプションで桁数を指定すればよい。

  • ".sql" という文字列が出現した行でファイルを分割する
  • n: プリフィックスの後につける連番の桁数
  • f: 分割後のファイルのプレフィックス
  • k: エラーが発生しても分割したファイルを削除しない
% csplit -k -n 3 -f prefix_ query_perf.log '/.*\.sql/' {999}

環境