📦

Linuxでファイルを指定した行数で分割する

2022/02/16に公開

目的

テキストファイルを行単位で指定した行数での分割を実施する。

実行

split -l 100000 -d -a 3 --additional-suffix=.tsv target_file.tsv split_target_file-

結果

split_target_file-000.tsv
split_target_file-001.tsv
split_target_file-002.tsv
split_target_file-003.tsv
split_target_file-004.tsv

説明

  • -l 1000000 ・・・ 分割する行数
  • -d ・・・ suffixを英字ではなく数字とする
  • -a 3 ・・・ suffixの桁数の指定
  • --additional-suffix=.tsv ・・・ 出力ファイルの拡張子
  • target_file.tsv ・・・ 分割元ファイル
  • split_target_file- ・・・分割先ファイルのPrefix

補足

  • 元ファイルや先ファイルの先頭にディレクトリの指定は可能。
  • 指定のN個に行単位で分割したい場合は、事前に分割行数の計算が必要となる。

Discussion