長いタイトルですが、仕事であるファイル(たとえばmbox形式の1ファイルとか)に「From:」という文字列がいくつもあり、そのFrom:行でスプリットして複数のファイルに分けたい場面がありました。perlでやろうかと思ったのですが、コマンドでないのかと思い、探してみたらやっぱりありました。 csplitというコマンドです。 使い方は、manを見てください。…というのもあれなので、上記の状況の場合には % csplit -f "x" -b "%04d" web02-top.log '/^From:.*/' '{*}' とすると分割されたデータがx0000、x0001…というファイル名のファイルに出力されます。引数は順番に、 -fオプションは、分割したファイルのプレフィックス。x0000ってファイルが出来る。 -bオブションは、分割したファイルの連番の部分のフォーマット。 分割前のファイル 分