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

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

splitコマンドとは?

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

📌 他のLinuxコマンドもまとめて確認したい方へ
ファイル操作・検索・テキスト処理など用途別に整理した総合まとめはこちら。
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コマンドは、大きなファイルを効率的に管理するための強力なツールです。
行数やサイズによる分割、ファイル命名のカスタマイズ、さらにはデータ転送の効率化まで、多くの場面で利用できます。
適切に使いこなして、データ管理やトラブルシューティングをスムーズに進めましょう。

LPIC Lv1準拠!Linuxコマンド演習(基礎編)Vol.1【全10問】

厳選された100問のコマンド問題から、毎回ランダムで10問を出題。
挑戦するたびに新しい問題に出会えるので、真の実力が試されます。

1 / 10

ディレクトリとその中身を、再帰的に(一括で)コピーするcpコマンドのオプションは?

2 / 10

テキストファイルをアルファベット順や数値順に並べ替えるコマンドは?

3 / 10

viエディタで、1文字だけ削除する(コマンドモード)キーは?

4 / 10

ディレクトリ内のファイルを、ファイルサイズが大きい順に表示するlsのオプションは?

5 / 10

システムにログインしている全ユーザーにメッセージを送信するコマンドは?

6 / 10

直前に実行したコマンドの終了ステータス(成功なら0)を確認する変数は?

7 / 10

SSHで接続する際、特定の秘密鍵ファイルを指定してログインするオプションは?

8 / 10

共有ライブラリの依存関係を確認するコマンドは?

9 / 10

システム管理者が別のユーザー(特にroot)に切り替わるコマンドは?

10 / 10

ファイルの中身を8進数や16進数でダンプして表示するコマンドは?

あなたのスコアは

平均スコアは 72%

0%

目次