Linux中split大文件分割和cat合并文件詳解
當需要將較大的數(shù)據(jù)上傳到服務器,或從服務器下載較大的日志文件時,往往會因為網(wǎng)絡或其它原因而導致傳輸中斷而不得不重新傳輸。這種情況下,可以先將大文件分割成小文件后分批傳輸,傳完后再合并文件。
1. 分割文件
文件分割可以使用split命令,該即支持文本文件分割,又支持二進制文件分割;而合并文件可以使用cat命令。
1.1 文本文件分割
分割文本文件時,可以按文件大小分割,也可以按文本行數(shù)分割。
按文件大小分割
按文件大小分割文件時,需要以-C參數(shù)指定分割后的文件大小:
$ split -C 100M large_file.txt stxt
如上所示,我們將大文件large_file.txt按100M大小進行分割,并指定了分割后文件前綴stxt;當不指定前綴時,split會自動對分割文件進行命名,一般會以x開頭。
按行分割
文本文件還可以以行為單位進行分割,以行數(shù)進行分割時會忽略文件大小,并以-l參數(shù)指定分割后文件的行數(shù):
$ split -l 1000 large_file.txt stxt
1.2 二進制文件分割
二進制文件分割類似于按大小分割文本文件,不同的是以-b參數(shù)來指定分割后的文件大?。?/p>
$ split -b 100M data.bak sdata
2. 文件合并
文件合并使用cat命令,上面幾種方式分割的文件都可以使用cat命令合并。
cat命令合并分割文件:
$ cat stxt* > new_file.txt
3. 命令格式
3.1 split命令說明
split命令格式如下:
split [選項]... [要切割的文件 [輸出文件前綴]]
命令參數(shù)
-a, --suffix-length=N 使用長度為 N 的后綴 (默認 2)
-b, --bytes=SIZE 設置輸出文件的大小。支持單位:m,k
-C, --line-bytes=SIZE 設置輸出文件的最大行數(shù)。與 -b 類似,但會盡量維持每行的完整性
-d, --numeric-suffixes 使用數(shù)字后綴代替字母
-l, --lines=NUMBER 設備輸出文件的行數(shù)
--help 顯示版本信息
--version 輸出版本信息
3.2 cat命令說明
cat是Linux下使用頻率較高的命令之一,該令詳細介紹:
cat連接文件并打印到標準輸出設備上
cat命令的常見使用場景有:
顯示文件內(nèi)容:
$ cat filename
創(chuàng)建一個空文件:
$ cat > filename
文件合并:
$ cat file1 file2 > file
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對本站的支持。
版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
關注官方微信