巨大なファイルを指定したサイズで分割する

200GB を超える tar ファイルを Blu-ray ディスクに書き込みたかったが、当然そのままではメディア1枚あたりの容量を超えるため書き込むことができない。今回は2層メディアを用意したので、1ファイルあたり (ディスク容量の余裕を考慮し) 45GB 程に分割できればと思い、調べてみたのでメモを残してみる。

Linux や Mac では split コマンドを使うと、指定したサイズで簡単に分割することができる。

split -b 46080m hogehoge.tar hogehoge.tar-

-b で1ファイルあたりのサイズを指定できる。45GB にしたかったので 45g などと入力してみたが、どうやら MB 単位でしか指定できないようだった。

引数の一番最後 hogehoge.tar- は分割後のファイル名を指定する。アルファベット2文字で連番が振られる。この例だと次のような名前のファイルが出来上がる。

hogehoge.tar-aa
hogehoge.tar-ab
hogehoge.tar-ac
 .
 .
 .

結合は全ファイルを対象に cat し、リダイレクトでファイルに吐き出せば良いみたいだ。

cat hogehoge.tar-* > hogehoge.tar

comments powered by Disqus