ホーム > ファイル・ディレクトリ管理 > split

split: ファイルを複数のチャンクに分割

splitコマンドは、大きなファイルを指定されたサイズまたは行数に基づいて複数の小さなファイルに分割するために使用されます。これは、大量のファイルを扱ったり、ネットワーク経由で転送したり、特定のセクションのみを処理する必要がある場合に非常に役立ちます。

概要

splitは、入力ファイルを指定されたサイズ(バイト)または行数に基づいて複数の出力ファイルに分割します。デフォルトでは、出力ファイル名は「xaa」、「xab」、「xac」のように生成されますが、接尾辞オプションで変更できます。

主な機能

  • ファイルを指定されたバイトサイズで分割
  • ファイルを指定された行数で分割
  • 出力ファイル名の接尾辞をカスタマイズ(数字、長さ、追加接尾辞)
  • 分割されたファイルを簡単に結合可能

主なオプション

splitコマンドの主なオプションは、ファイルの分割基準と出力ファイル名の命名規則を制御します。

分割基準

出力ファイル名

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`split` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

splitコマンドの様々な使用例を通じて、ファイルを効果的に分割する方法を学ぶことができます。

ファイルを10MB単位で分割

split -b 10M large_file.txt output_prefix_

large_file.txtを10MBサイズのファイルに分割し、「output_prefix_」で始まるファイル名(例: output_prefix_aa, output_prefix_ab)を生成します。

ファイルを1000行単位で分割

split -l 1000 large_log.txt log_part_

large_log.txtを各ファイル1000行ずつ分割し、「log_part_」で始まるファイル名を生成します。

数字接尾辞を使用して500MB単位で分割

split -b 500M -d video.mp4 video_part_

video.mp4を500MBサイズに分割し、ファイル名に数字接尾辞(00, 01など)を使用します。接尾辞の長さはデフォルトで2です。

接尾辞の長さを3にして1GB単位で分割

split -b 1G -d -a 3 archive.tar archive_part_

archive.tarを1GBサイズに分割し、接尾辞の長さを3に指定して「archive_part_000」、「archive_part_001」のように生成します。

分割されたファイルを結合

cat output_prefix_* > large_file.txt

以前に「output_prefix_」で始まるように分割されたファイルを、元のlarge_file.txtに結合します。

ヒントと注意点

splitコマンドを使用する際の便利なヒントと注意点です。

ファイルの結合

分割されたファイルは、`cat`コマンドを使用して簡単に結合できます。例えば、`cat prefix_* > original_file`のように使用します。この際、ワイルドカード(`*`)の順序が重要なので、`ls`で確認して正しい順序で結合されるか確認することをお勧めします。

  • 結合時には`cat`コマンドを使用
  • ワイルドカード(`*`)使用時はファイル順序に注意(アルファベット/数字順にソートされます)

ディスク容量

ファイルを分割すると、元のファイルと分割されたファイルが同時に存在するため、十分なディスク容量が必要です。分割作業後に元のファイルを削除する予定がある場合は、事前に容量を確保する必要があります。

  • 分割作業時には元のファイルサイズの2倍以上のディスク容量が必要
  • 作業完了後に不要なファイルを整理

接尾辞の長さ

分割されるファイルの数が多いと予想される場合は、`-a`オプションを使用して接尾辞の長さを十分に長く指定することをお勧めします。例えば、100個以上のファイルが生成される場合、`-a 3`を使用すると「000」から「999」までの接尾辞を使用できます。

  • 分割ファイル数に応じて`-a`オプションで接尾辞の長さを調整
  • デフォルトの接尾辞の長さ(2)では最大676個のファイル(aa-zz)を生成可能

同じカテゴリのコマンド