csplit

csplit (context split)
正規表現パターンにマッチする行が表れるごとにファイルを分割する。


Makefile をルールごとに分割する。

csplit -n4 -k Makefile '/^[^   ][^      ]*:/' '{1000}'

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

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

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

csplit -k - 100 '{19}'