Linux系統下使用split命令分割大檔案.

season0891發表於2011-06-20
我想給一個朋友傳一個大影片,有幾百M,嘗試多種傳輸辦法失敗後,最後想到的是把影片切開一片片“郵遞”過去給他,讓它自己組裝起來吧。
 
[root@pps public_rw]# ls -lh RevolutionOS.rmvb
-rwx------ 1 hoho hoho 276M 2005-09-09 RevolutionOS.rmvb
 
將將這個276M檔案分割成20M的小檔案,檔案分割操作如下:
 
用法:split [選項] [輸入 [字首]]
 
[root@pps public_rw]# split -b 20m RevolutionOS.rmvb RevOS_part_
[root@pps public_rw]# ls -lh
總計 552M
-rwx------ 1 hoho hoho 276M 2005-09-09 RevolutionOS.rmvb
-rw-r--r-- 1 root root  20M 03-19 17:59 RevOS_part_aa
-rw-r--r-- 1 root root  20M 03-19 17:59 RevOS_part_ab
...
-rw-r--r-- 1 root root  20M 03-19 18:00 RevOS_part_am
-rw-r--r-- 1 root root  16M 03-19 18:00 RevOS_part_an
 
“-b 20m”指定分割檔案的大小為20M,檔案後面的“RevOS_part_”是分割檔案的字首,最後的是16M的“剩餘”檔案。
 
組裝檔案:


[root@pps public_rw] cat RevOS_part_* > RevolutionOS_RSB.rmvb
 
這裡不怕組裝順序錯誤,因為分割的時候是按字母順序排下來的,cat也是按照字母順序處理的,如果不放心,將組裝後的檔案雜湊對比一下:
 
[root@pps public_rw]# md5sum RevolutionOS.rmvb
ac7cce07f621b1ed6f692e6df0ac8c16  RevolutionOS.rmvb
 
[root@pps public_rw]# md5sum RevolutionOS_RSB.rmvb
ac7cce07f621b1ed6f692e6df0ac8c16  RevolutionOS_RSB.rmvb
 
放心了吧:)
 
如果要分割的是一個文字檔案,比如有好幾千行,當然每行的字元數是不等的,想要以行數為分割,比如每100行生成1個檔案,只需要 -l 引數,如下:
 
[root@pps public_rw]# split -l 100 test.txt
 
其實,如果不加任何引數,預設情況下是以1000行大小來分割的。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-700287/,如需轉載,請註明出處,否則將追究法律責任。

相關文章