CATEGORY: COMMANDS

csplit

見出しごとに分割する 例:# で始まる行を見出しとして分割 入力ファイル input.txt

# A
aaa
bbb
# B
ccc
ddd
# C
eee
mkdir -p xx
csplit -f xx/xx -n 9 -q input.txt /^# / '{*}'
  • -f xx/xx: 出力ファイルのプレフィックス
  • -n 9: 出力ファイル名の数字の桁数
  • -q: 分割数の表示を抑制
  • /^# /: 分割位置のパターン(# で始まる行)
  • '{*}': パターンに一致する回数だけ繰り返し分割

  • gnuとfreebsdでオプションが異なるので注意
  • 削除/処理する場合は、find xx -type f -name "xx*" | xargsrmなど。