標籤:io ar os 使用 sp on 檔案 資料 bs
用法:split [選項]... [輸入 [首碼]]
將輸入內容拆分為固定大小的分區並輸出到"首碼aa"、"首碼ab",...;
預設以 1000 行為拆分單位,預設首碼為"x"。如果不指定檔案,或
者檔案為"-",則從標準輸入讀取資料。
長選項必須使用的參數對於短選項時也是必需使用的。
-a, --suffix-length=N 指定尾碼長度為N (預設為2)
-b, --bytes=大小 指定每個輸出檔案的位元組大小
-C, --line-bytes=大小 指定每個輸出檔案裡最大行位元組大小
-d, --numeric-suffixes 使用數字尾碼代替字母后綴
-l, --lines=數值 指定每個輸出檔案有多少行
--verbose 在每個輸出檔案開啟前輸出檔案特徵
--help 顯示此協助資訊並退出
--version 顯示版本資訊並退出
SIZE 可以是一個可選的整數,後面跟著以下單位中的一個:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,還有 G、T、P、E、Z、Y。
例子:
$ ls -l
-rw-r--r-- 1 user user 3773144 5月 26 10:54 splittest.tar.bz2
$split -a 3 -d -b 800KB splittest.tar.bz2 sp
-a 3 #指定後輟為3位
-d #指定後輟為數字,而不是預設的aa ab等
-b 800KB #分割的大小
sp #前輟
$ls -l
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp000
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp001
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp002
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp003
-rw-r--r-- 1 user user 573144 5月 26 11:05 sp004
-rw-r--r-- 1 user user 3773144 5月 26 10:54 splittest.tar.bz2
可以看到,sp000-sp004就是分割後的檔案。
合并:
$cat sp00* >splittest1.tar.bz2
$ls -l
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp000
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp001
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp002
-rw-r--r-- 1 user user 800000 5月 26 11:05 sp003
-rw-r--r-- 1 user user 573144 5月 26 11:05 sp004
-rw-r--r-- 1 user user 3773144 5月 26 11:11 splittest1.tar.bz2
-rw-r--r-- 1 user user 3773144 5月 26 10:54 splittest.tar.bz2
可以看到,合并後的檔案splittest1.tar.bz2與分割前的splittest.tar.bz2 大小是一致的
$ md5sum splittest1.tar.bz2
12951203bd64c314d14a57b5d57f2592 splittest1.tar.bz2
$ md5sum splittest.tar.bz2
12951203bd64c314d14a57b5d57f2592 splittest.tar.bz2
分別比較兩個檔案的MD5校正,可以確認合并是正確的。
Linux下的檔案分割命令split