【コマンド詳細】splitコマンドの使い方とオプションまとめ

  • URLをコピーしました!
目次

splitコマンドとは?

splitコマンドは、Linuxで大きなファイルを複数の小さなファイルに分割するためのユーティリティです。
ファイルサイズや行数を指定して分割が可能で、大量のデータを処理したり、
ファイルを分割して転送したりする場面で非常に役立ちます。

基本構文

split [オプション] [入力ファイル] [出力ファイルのプレフィックス]
  • 入力ファイル: 分割対象のファイルを指定(省略時は標準入力)。
  • 出力ファイルのプレフィックス: 分割後のファイル名に付けるプレフィックス(省略時はx)。

主なオプション一覧

オプション説明
-b分割するサイズをバイト単位で指定
-l分割する行数を指定
-d分割後のファイル名に数字を使用(デフォルトはアルファベット)
--additional-suffix=SUFFIX出力ファイルに追加のサフィックスを付ける
-n分割するチャンク数を指定

各オプションの実行例と結果

1. ファイルを1MBずつ分割(オプション -b

split -b 1M largefile split_
結果

largefileが1MBごとに分割され、split_aasplit_abのようなファイルが生成されます。

2. 行数で分割(オプション -l

split -l 1000 largefile split_
結果

largefileが1000行ごとに分割され、split_aasplit_abのようなファイルが生成されます。

3. 数字で命名(オプション -d

split -d -l 1000 largefile split_
結果

分割後のファイル名がsplit_00split_01のように数字で生成されます。

4. サフィックスを追加(オプション --additional-suffix

split -l 1000 --additional-suffix=.txt largefile split_
結果

分割後のファイルがsplit_aa.txtsplit_ab.txtのように生成されます。

5. チャンク数で分割(オプション -n

split -n 4 largefile split_
結果

largefileが4つの等しい部分に分割され、
split_aasplit_absplit_acsplit_adのように生成されます。

実用例

1. 大きなログファイルを分割して解析

split -l 10000 access.log log_chunk_
目的

ログファイルを分割して並列解析を容易にします。

2. サイズ制限付きのファイル転送

split -b 50M largefile part_
目的

メールやストレージサービスの制限に合わせてファイルを分割。

3. ファイルの統合

分割後のファイルを統合するにはcatコマンドを使用します。

cat split_* > merged_file

注意点

  1. 元ファイルの整合性
    分割されたファイルを再結合する際、順番が正しくなるよう注意が必要です。
  2. 適切なプレフィックスの設定
    ファイル名のプレフィックスを指定しない場合、xというデフォルトの名前が使われます。
  3. 適用範囲
    標準入力もサポートしているため、パイプライン操作にも活用できます。

まとめ

splitコマンドは、大きなファイルを効率的に管理するための強力なツールです。
行数やサイズによる分割、ファイル命名のカスタマイズ、さらにはデータ転送の効率化まで、多くの場面で利用できます。
適切に使いこなして、データ管理やトラブルシューティングをスムーズに進めましょう。

目次