有兩種方式,
第一種使用dd命令
第二種使用split
dd命令是linux下乙個非常有用的磁碟命令。它可以將指定大小的塊拷貝成乙個檔案,並在拷貝的同時執行指定的轉換。
unix已經提供了檔案切割功能,能完成這個功能的unix命令就是dd。
要切割的大檔案為dgjd,共98336321位元組,則:
dd if=dgjd of=zz1 bs=1 count=20000000
dd if=dgjd of=zz2 bs=1 count=20000000 skip=20000000
dd if=dgjd of=zz3 bs=1 count=20000000 skip=40000000
dd if=dgjd of=zz4 bs=1 count=20000000 skip=60000000
dd if=dgjd of=zz5 bs=1 count=18336321 skip=80000000
其中if(input filename)是要切割的大檔名,of(output filename)是切割後的子檔名,bs是指明以多少位元組作為乙個切割記錄單位,count是要切割的單位記錄數,skip是說明切割時的起點,單位同樣以bs設定值為準。通過上述五條指令就將dgjd大檔案切割成為4個2千萬位元組、1個18336321位元組的子檔案。要注意的是skip的值不能錯。 由此
也不難看出,dd切割是「非損耗」式的切割,並且支援從任意位置開始的任意大小的切割。
要將生成的zz1、zz2、zz3、zz4四個子檔案組裝為xdgjd,則:
dd if=zz1 of=xdgjd bs=1 count=20000000
dd if=zz2 of=xdgjd bs=1 count=20000000 seek=20000000
dd if=zz3 of=xdgjd bs=1 count=20000000 seek=40000000
dd if=zz4 of=xdgjd bs=1 count=20000000 seek=60000000
dd if=zz5 of=xdgjd bs=1 count=18336321 seek=80000000
其中skip引數改為seek引數,指明組裝的新大檔案xdgjd每次的開始位置是從檔案頭開始多少位元組。如果預設,則組裝從檔案頭開始,顯然這不是我們每次都希望的, 所以需用seek引數明確指出開始位置。通過以上5個指令,即可將5個子檔案重新組裝為乙個大檔案。將切割後生成的子檔案重新用ftp傳送,結果有的能夠順利傳送, 有的仍然導致網路癱瘓,不怕,繼續切割,切成每個一千萬位元組,再傳,ok!成功傳送!
一、關於
在linux下,切割和合併檔案可以使用split和cat命令來實現。
二、檔案切割
檔案切割模式分為兩種:文字檔案和二進位制模式。
1、文字模式
文字模式只適用於文字檔案,用這種模式切割後的每個檔案都是可讀的。文字模式又分為兩種:按最大檔案大小切割和按文字行數切割。
1)按檔案大小切割
split -c 50k log.log splog
將文字檔案log.log按每塊最大50k的大小進行切割,不打碎行。輸出檔名類似splogaa, splogab……
2)按文字行數切割
split -l 100 log.log splog
每個分塊100行,不考慮大小。日誌分析時應該有用。
2、二進位制模式
split -b 50k log.log splog
每個分塊(當然,最後乙個不保證)大小都是50k,基本不可讀。任何型別檔案都可以用這種切割模式。
三、檔案合併
不管用什麼方式切割,合併方法不變。
cat splog* >newlog.log
四、補充說明
split 引數:
-a:指定輸出檔名的字尾長度,預設為2個(aa,ab...)
-d:指定輸出檔名的字尾用數字代替
-b:指定輸出檔案的最大位元組數,如1k,1m...
-c:指定每乙個輸出檔案中單行的最大位元組數
-l:指定每乙個輸出檔案的最大行數
從0開始,以ss為字首,每個分割大小1kb
split -b 1k -d a.log ss
Linux下分割合併檔案
切割合併檔案在linux下用split和cat就可以完成。下面舉些例項進行說明。1.檔案切割 檔案切割模式分為兩種 文字檔案 二進位制模式。1.1文字模式 按最大檔案大小切割 按文字行數切割。1.1.1最大檔案大小切割 split c 5k duanxin split 將文字檔案duanxin按每塊...
Linux檔案分割和合併
linux下檔案分割可以通過split命令來實現,可以指定按行數分割和按大小分割兩種模式。linux下檔案合併可以通過cat命令來實現。模式一 指定分割後檔案行數 先 wc l large file.txt 得到檔案行數,然後執行分割命令 split l 300 large file.txt sma...
Linux下分割合併檔案
切割合併檔案在linux下用split和cat就可以完成。下面舉些例項進行說明。1.檔案切割 檔案切割模式分為兩種 文字檔案 二進位制模式。1.1文字模式 文字模式只適用於文字檔案,用這種模式切割後的每個檔案都是可讀的。文字模式又分為兩種 按最大檔案大小切割 按文字行數切割。1.1.1最大檔案大小切...