split コマンドは、大きなファイルを複数の小さなファイルに分割するユーティリティです。Version 3 AT&T UNIX に登場し、UNIX や Linux などで広く使用されています。大きなデータファイルを処理する際や、データを複数の部分に分けて扱いたい場合に便利です。

基本的な使い方

編集
split [オプション] ファイル [プレフィックス]

主なオプション

編集
主なオプション
オプション 説明
-b, --bytes=SIZE 各ファイルの最大サイズを指定(バイト単位)
-l, --lines=NUMBER 各ファイルに含める行数を指定
-C, --line-bytes=SIZE 各ファイルの最大サイズを指定(行単位)
-d, --numeric-suffixes 数字をサフィックスとして使用
-a, --suffix-length=N サフィックスの長さを指定
-h, --help ヘルプメッセージを表示

ファイルを行数ごとに分割

編集
split -l 1000 file.txt

file.txt を 1000 行ごとに分割します。

ファイルをバイト数ごとに分割

編集
split -b 500k largefile.dat

largefile.dat を 500KB ごとに分割します。

出力ファイルにプレフィックスを指定

編集
split -l 1000 file.txt output_

file.txt を 1000 行ごとに分割し、出力ファイルに output_ プレフィックスを付けます(例: output_aa, output_ab)。

数字をサフィックスとして使用

編集
split -d -l 1000 file.txt

file.txt を 1000 行ごとに分割し、出力ファイルのサフィックスに数字を使用します(例: xaa, xab)。

FreeBSD 版との違い

編集

FreeBSD でも split コマンドは提供されていますが、いくつか違いがあります。

主な違い:

編集
  1. FreeBSD の split では、出力ファイルのプレフィックスが省略された場合、デフォルトで x になります。
  2. 一方、GNU 版では、プレフィックスが省略されると、x ではなく x00 から始まるサフィックスになります。

詳しくは、それぞれの環境で man split を確認してください。