No.049テキスト処理
split
スプリット・ファイル分割
巨大ファイルを扱いやすい単位へ分割します。行数基準にもサイズ基準にも対応でき、後続処理を軽くできます。
答えよく使う形
$ 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_
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
覚える順番の中で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