No.049テキスト処理

split

スプリット・ファイル分割

知識レベル 実践安全に試せる一般ユーザーで使える

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

答えよく使う形

  1. 標準入力も分割できます
  2. 指定行数ごとに分割します
  3. 指定サイズごとに分割します
visitor@goodly: ~

$ seq 1 10 | split -l 3 - nums_

nums_aa nums_ab nums_ac nums_ad

$ split -l 1000 app.log chunk_

$ split -b 100M backup.tar part_

覚える順番の中でLPIC-1・32 駅め / 106

どんなコマンド?

こんなときに

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

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

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

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ split

使用例と実行結果

行を押すとコピーできます。

nums_aa nums_ab nums_ac nums_ad
標準入力も分割できます。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 1

つまずいたとき

テキストの途中でレコードが壊れた

原因サイズ分割を使ったため、行境界が保たれていません。

こうするレコードを保ちたい時は-lで行数分割を使います。

終わったときの数(戻り値)

$ echo $?

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

気をつけることと入れ方

気をつけること

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

環境による違い

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

確かめた環境2026-04-09 に確認

よくある質問

元へ戻せますか。

単純分割ならcatで順に連結できますが、順番管理が重要です。

資格試験では

  • LinuC レベル1大事1.03.2 フィルタを使ったテキストストリームの処理
  • LPIC-1大事103.2 フィルタを使ったテキストストリームの処理
  • 共通基礎大事Linuxコマンド基礎

split を最後まで読みました。

Linux コマンド辞典に戻る107 / 144

Goodly のメニュー