大きなファイルを分割・結合する方法|splitとcatで効率的に管理

ファイル操作/圧縮

動画やログ、バックアップデータなど、サイズが大きすぎるファイルを扱うときに「そのままではメールで送れない」「クラウドにアップできない」と困った経験はありませんか?
こうした場合は、ファイルを小さく分割して送信・保存し、必要に応じて結合して元に戻すのが便利です。

LinuxやmacOSのターミナルでは、splitcat というコマンドを使うことで、大きなファイルを効率的に分割・結合できます。

ファイルを分割する方法(split)

split コマンドを使えば、指定したサイズごとにファイルを分割できます。

split -b 100M bigfile.zip part_
  • -b 100M : 100MBごとに分割
  • bigfile.zip : 分割対象のファイル
  • part_ : 分割後のファイル名のプレフィックス(例: part_aa, part_ab …)

この例では、bigfile.zip が 100MB ごとの小さなファイルに分割され、part_aapart_ab という形で保存されます。

行数で分割する場合

テキストファイルを行単位で分割することも可能です。

split -l 1000 logfile.txt log_

この場合、logfile.txt が 1000行ごとに log_aalog_ab といったファイルに分割されます。

分割したファイルを結合する方法(cat)

分割したファイルを元に戻すときは cat コマンドを使います。

cat part_* > bigfile_restored.zip
  • part_* : 分割したファイルを順番に結合
  • > : 出力を新しいファイルに保存
  • bigfile_restored.zip : 復元後のファイル名

これで分割前と同じファイルが再構築されます。

実用シーン

  • 大容量の動画を送るとき:メール添付の制限を回避
  • クラウド保存:アップロード容量制限に合わせて分割
  • バックアップ整理:サイズを指定して複数メディアに保存
  • ログ管理:巨大なログを分割して扱いやすくする

注意点

  • 分割後にファイルをやり取りする場合、すべて揃わないと結合できません。
  • 順番を間違えると正しく復元できないため、part_aapart_abpart_ac … の順序を保ちましょう。
  • 圧縮ファイルを分割する場合は、結合してから解凍する必要があります。

まとめ

大きなファイルを効率的に管理するには、split で分割し、必要なときに cat で結合する方法が便利です。

  • サイズや行数で自由に分割できる
  • 容量制限のある環境でも柔軟に対応可能
  • 元に戻すのも簡単で安全

大容量ファイルで困っている方は、この方法を取り入れてみてください。

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント