2013年2月15日金曜日

大きいファイルをsplitコマンドで指定サイズに分割する


大きいファイルをsplitコマンドで指定サイズに分割する方法と、結合する方法です。
1度にメール添付することができないファイルサイズでも分割して複数ファイルで送付し、
結合して復元すれば対応できるかも。

OS: CentOS 6.3(64-bit)


■ファイル分割

[root@centos63 ~]# ls -l /tmp/before/
合計 176596
-rw-r--r-- 1 root root 180648349  2月 14 19:58 tanyao.tar.gz
[root@centos63 ~]# split -b 50m /tmp/before/tanyao.tar.gz /tmp/after/tanyao.tar.gz.
[root@centos63 ~]# ls -l /tmp/after/
合計 176612
-rw-r--r-- 1 root root 52428800  2月 14 19:59 tanyao.tar.gz.aa
-rw-r--r-- 1 root root 52428800  2月 14 19:59 tanyao.tar.gz.ab
-rw-r--r-- 1 root root 52428800  2月 14 19:59 tanyao.tar.gz.ac
-rw-r--r-- 1 root root 23361949  2月 14 19:59 tanyao.tar.gz.ad
-bオプションで分割するファイルのサイズを指定します。
今回は約180MBのファイルを50MB以下のファイルに分割します。

■分割ファイル結合

[root@centos63 ~]# cat /tmp/after/tanyao.tar.gz.* > /tmp/after/tanyao.tar.gz
[root@centos63 ~]# ls -l /tmp/after/
合計 353208
-rw-r--r-- 1 root root 180648349  2月 14 20:00 tanyao.tar.gz
-rw-r--r-- 1 root root  52428800  2月 14 19:59 tanyao.tar.gz.aa
-rw-r--r-- 1 root root  52428800  2月 14 19:59 tanyao.tar.gz.ab
-rw-r--r-- 1 root root  52428800  2月 14 19:59 tanyao.tar.gz.ac
-rw-r--r-- 1 root root  23361949  2月 14 19:59 tanyao.tar.gz.ad
catコマンドでファイルを結合できるんです。

■確認

[root@centos63 ~]# md5sum /tmp/before/tanyao.tar.gz | cut -d " " -f 1 > before.txt
[root@centos63 ~]# md5sum /tmp/after/tanyao.tar.gz | cut -d " " -f 1 > after.txt
[root@centos63 ~]# diff before.txt after.txt
[root@centos63 ~]# cat before.txt after.txt
1e53af42a72b142ed5560bc53084da38
1e53af42a72b142ed5560bc53084da38

知っていると便利なコマンドです。この情報がお役にたてれば幸いです。

0 件のコメント:

コメントを投稿