【split】Linuxでファイル分割するコマンド

Linuxでファイルサイズが大きいものなどを分割するときのコマンド「split」を紹介します。

【split】ファイルを分割する

ファイル転送をする時など、ファイルサイズが大きくて分割したいという時に使うコマンドです。

オプションを指定しない場合は、1000行ごとにファイルを分割します。また、分割後の接頭辞には「x」がつけられ「xaa、xab, xac...」というファイルになります。

この「aa、ab、ac...」と続く接尾語を数値に変更するには、「-d」オプションを使います。

分割するサイズを指定する

ファイル分割のサイズを指定するには、分割サイズを行数で指定する「-l」オプション、またはバイト数で指定する「-b」が使えます。

2000行ごとにファイル分割する場合は、以下のようなコマンド。

約100MBごとにファイル分割する場合は、以下のようなコマンド。

または、「-b 100M」とすることもできます。

「output file suffixes exhausted」エラーの対応

分割後のファイル数が多すぎる場合は、「split: output file suffixes exhausted」というエラーになります。

これは接尾語が足りないことによるエラーで、例えば「-d」オプションを使い分割後のファイル数が100を超える場合などに発生します。

これを回避するには、接尾語の文字数を指定する「-a」オプションを使います。接尾語を数字3文字にする場合は、以下のようなコマンドになります。