でかいファイルをちっさいファイルに切り分けたい
シェルでは、splitコマンドを使用することで、大きなファイルを小さな複数のファイルに分けることができます。splitコマンドの基本的な書式は次の通りです。
split [OPTION]... [INPUT [PREFIX]]
OPTIONはオプションで、INPUTは分割される大きなファイルのパスで、PREFIXは生成された小さなファイルのプレフィックスです。
Splitコマンドの一般的なオプションを以下に示します。
- natively: -l NUMは、ファイルをNUM行に分割されたファイルのセットに分割します。
- サイズ:ファイルをファイルサイズで分割し、各小ファイルのサイズは指定されたサイズになります。
- -n LENGTH:生成するファイル名の末尾に付加する長さで、デフォルトは2
- ファイルの末尾に数字を付ける
以下の一例を参考にしてください。
- ファイルを1行ごとに分割します:
split -l 1000 input.txt output_
上記の例では、input.txt ファイルが 1000 行区切りでいくつかの小さなファイルに分割され、小さなファイルの接頭辞は output_ です。
- ファイルサイズでファイルを分割する:
split -b 1M input.txt output_
上記コマンドでは、input.txtファイルを 1MB 程度の小さいファイルに分割し、出力ファイルの先頭に “output_” という接頭辞を付けます。
- ファイル名拡張子の長さと、数字をサフィックスとして使用する方法を指定する
split -l 1000 -a 3 -d input.txt output_
上のコマンドはinput.txtファイルを1000行ごとに分割して、分割したファイル名をoutput_から始めて、ファイル名の末尾3桁に連番をつける
Splitコマンドを実行すると、複数の小さなファイルが生成され、ファイル名は「PREFIX + サフィックス」の形式になります。