csplit

テキスト処理

書き方

csplit [file] '/[pattern]/' '{*}'

大きさではなく模様が現れる位置でファイルを切ります。表示される数字は断片のバイト数で、{*} は当たる限り繰り返せという意味です。

よく使うオプション

オプション意味
-fPrefix for the output names; the default is xx
-nHow many digits the number has
-kKeep the files already written if it fails partway
-sDo not print the byte count of each piece
-zGNU: throw away pieces that came out empty
{*}Repeat the pattern as many times as it matches

csplit -z -f part_ log.txt '/^ERROR/' '{*}'

A new file at every ERROR line.

csplit book.txt 100 200

Splits at lines 100 and 200.

パイプでつないで使うのが本来の形です。ひとつで全部やるより、三つつないだ方が短くなります。

読み方

  • 角括弧 [ ] は省いてよい部分です。
  • 三点 … は複数並べられるという意味です。
  • オプションは大文字小文字を区別します — -r と -R が別物のコマンドもあります。

よくある質問

Q. csplit は何をしますか。

大きさではなく模様が現れる位置でファイルを切ります。表示される数字は断片のバイト数で、{*} は当たる限り繰り返せという意味です。

Q. どう打ちますか。

csplit [file] '/[pattern]/' '{*}' — 角括弧は省いてよい部分です。

Q. よく使うオプションはいくつですか。

ここにまとめたのは6個です。全部は man csplit にあります。このコマンドはテキスト処理の仲間です。

関連するコマンド

man ページ: man csplit