有時候咱們必須把數據文件分割爲更小的文件,這樣方便咱們郵件發送或者查看文件內容。split命令則能夠用來分割文件。blog
1、根據大小來分割文件get
1.通常分割it
例如:如今有文件tmp.log,大小爲:3680k,咱們以1000k爲單位分割該文件,在split命令中,除了k(KB),咱們還可使用M(MB)、G(GB)、c(byte)、w(word)擴展
Linux:/qinys/data # split -b 1000k tmp.logfile
2.分割時指定後綴grep
在分割時,默認使用字母后綴,咱們能夠給文件名指定數字後綴,使用-d選項,此外,-a length能夠指定後綴長度:im
Linux:/qinys/data # split -b 1000k tmp.log -d -a 2命名
3.分割時候指定前綴數據
咱們分割文件的時候爲了區分那些是原始文件,哪些是分割後的文件,咱們使用前綴來區分,如下在分割後的文件名以前添加fg_csp
Linux:/qinys/data # split -b 1000k tmp.log -d -a 2 fg_
2、根據行數來分割
如今存在數據文件tmp.log,數據總記錄數爲:31346
如下是根據文件記錄數來拆分文件,以10000條記錄爲單位進行拆分
Linux:/qinys/data # split -l 10000 tmp.log -d -a 2 row_
3、根據內容拆分
如今存在文件tmp1.log,文件內容以下所示:
咱們如今想把每一個ping的結果分別存儲到各個文件,以便查看;
命令以下:
Linux:/qinys/data # csplit tmp1.log /ping/ -n 2 -s {*} -f ping -b "%02d.log"
執行結果以下:
命令解釋:
4、分割帶有擴展名的文件
如今存在數據文件CUST_INFO.dat(大小爲:112M)
咱們使用以下命令進行分割
split -b 30m CUST_INFO.dat -d -a 2 file_&&ls|grep file_|xargs -n1 -i{} mv {} {}.txt
命令解釋:
split -b 30m CUST_INFO.dat -d -a 2 file_&&ls 將文件以30M大小進行分割,而且前綴爲file_;
xargs -n1 -i{} mv {} {}.txt 將生成的文件重命名爲擴展名爲txt的
分割後結果以下: