ファイルの分割、結合

忘れっぽいコマンドメモ。
大きなファイルをUSBメモリ経由で受け渡したり、rsync でちまちま差分コピーしたいときなど、分割して戻せると便利だけど、そういう需要がたまにしかないのでいつも調べることになる。

分割


$ split -b (size) (分割されるファイル) (分割後のファイルのプレフィックス)

(size) は単位指定できる。100m とか 100k とか
出力される分割ファイルは、結合のときに順番を気にしなくていいように、指定されたプレフィックスの後ろが辞書順になっている。

例えば


$ split -b 500m hugefile.tar.gz out/hugefile_

としておくと
out/hugefile_aa, out/hugefile_ab, out/hugefile_ac ...
のようなファイルが 500MBづつで出力される。

結合

辞書順に並んでるので cat * するだけ。

例えば


$ cat out/hugefile_* > hugefile_clone.tar.gz

とすれば、もとの hugefile.tar.gz と同じものができる。