split スプリット

英語表記split

日本語表記ファイル分割

正式名称split

危険度安全

What does it mean?

巨大ファイルを扱いやすい単位へ分割します。行数基準にもサイズ基準にも対応でき、後続処理を軽くできます。

Command Quest

split を今日の道具にする

巨大ファイルを扱いやすい単位へ分割します。行数基準にもサイズ...

$ split [オプション]... [入力 [接頭辞]]
関連用語0
次のコマンド0
FAQ1
参照3

概要

巨大ファイルを扱いやすい単位へ分割します。行数基準にもサイズ基準にも対応でき、後続処理を軽くできます。

基本構文

split [オプション]... [入力 [接頭辞]]

詳細解説

splitは、大きなファイルを複数の小さなファイルへ分割するコマンドです。行数単位で区切る方法と、バイトサイズ単位で区切る方法が代表的です。

実務では、大きなログの分割、処理の並列化前準備、転送や保管の都合でサイズを抑えたい時に使います。分割後の命名規則も重要で、後続処理が読みやすい接頭辞設計が役立ちます。

このコマンドを使う場面

巨大ファイルを小分けにしたい時、並列処理しやすくしたい時、転送サイズを制御したい時に使います。

まず安全に試す方法

1. seq 1 20 > nums.txt
2. split -l 5 nums.txt part_
3. ls part_*

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. split -l 5で20行ファイルを4つへ分けます。

資格試験との関連

  • LinuC レベル1
    範囲: 1.03.2 フィルタを使ったテキストストリームの処理
    根拠: official
    splitは、テキスト処理系の基本フィルタとしてLinuCレベル1の範囲に関わります。
  • LPIC-1
    範囲: 103.2 フィルタを使ったテキストストリームの処理
    根拠: official
    splitは、LPIC-1でテキストストリームへフィルタを適用する技能と関係します。
  • 共通基礎
    範囲: Linuxコマンド基礎
    根拠: editorial
    splitは、ファイル操作またはテキスト処理の基本を支えるため、試験横断の共通知識として価値があります。

オプション

  • -l 行数
    指定行数ごとに分割します。
    split -l 1000 app.log chunk_
  • -b サイズ
    指定サイズごとに分割します。
    split -b 100M backup.tar part_
  • -d
    接尾辞を数字にします。
    split -d -l 100 file.txt part_

実行結果サンプル

  • seq 1 10 | split -l 3 - nums_
    nums_aa nums_ab nums_ac nums_ad

戻り値コード

  • 0 正常終了。分割に成功しました。
  • >0 読取失敗や書込失敗などで失敗しました。

使用例

  • split -l 1000 app.log chunk_
  • split -b 100M backup.tar part_

よくあるエラー

  • テキストの途中でレコードが壊れた
    原因: サイズ分割を使ったため、行境界が保たれていません。
    対処: レコードを保ちたい時は-lで行数分割を使います。

導入・互換性情報

POSIXの基本機能は共通です。GNU実装では数値接尾辞などの拡張があります。

注意点 / セキュリティリスク

危険度は低いですが、行単位分割とサイズ分割を混同すると、レコード境界が壊れることがあります。テキスト処理では通常-lを優先します。

FAQ

  • Q. 元へ戻せますか。
    A. 単純分割ならcatで順に連結できますが、順番管理が重要です。

参照リンク

関連記事