情境:linux有些大檔案處理起來不方便,需要將其分割,發現一個好用的命令。
bash-4.1$ split --help用法: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。請向bug-coreutils@gnu.org 報告split 的錯誤GNU coreutils 項目首頁:<http://www.gnu.org/software/coreutils/>GNU 軟體一般性協助:<http://www.gnu.org/gethelp/>請向<http://translationproject.org/team/zh_CN.html> 報告split 的翻譯錯誤要擷取完整文檔,請運行:info coreutils 'split invocation'
按照行數分割,如下:
split -l 10000 test.txt test
會在test.txt目前的目錄下產生以test首碼的一系列檔案
按照位元組數分割,如下:
split -b 100m test.txt test
如果要切割檔案指定命名,參考如下:
split -l 2000 test.txt -d -a 2 lim_
-l:按行分割,上面表示將urls.txt檔案按2000行一個檔案分割為多個檔案
-d:添加數字尾碼,如00、01、02
-a 2:表示用兩位元據來順序命名
lim_:用來定義分割後的檔案名稱前面的部分。