Linux中split大檔案分割和cat合併檔案詳解

NO IMAGE

前言

當需要將較大的資料上傳到伺服器,或從伺服器下載較大的日誌檔案時,往往會因為網路或其它原因而導致傳輸中斷而不得不重新傳輸。這種情況下,可以先將大檔案分割成小檔案後分批傳輸,傳完後再合併檔案。

1. 分割檔案

檔案分割可以使用split命令,該即支援文字檔案分割,又支援二進位制檔案分割;而合併檔案可以使用cat命令。

1.1 文字檔案分割

分割文字檔案時,可以按檔案大小分割,也可以按文字行數分割。

按檔案大小分割

按檔案大小分割檔案時,需要以-C引數指定分割後的檔案大小:


$ split -C 100M large_file.txt stxt

如上所示,我們將大檔案large_file.txt按100M大小進行分割,並指定了分割後檔案字首stxt;當不指定字首時,split會自動對分割檔案進行命名,一般會以x開頭。

按行分割

文字檔案還可以以行為單位進行分割,以行數進行分割時會忽略檔案大小,並以-l引數指定分割後檔案的行數:


$ split -l 1000 large_file.txt stxt

1.2 二進位制檔案分割

二進位制檔案分割類似於按大小分割文字檔案,不同的是以-b引數來指定分割後的檔案大小:


$ split -b 100M data.bak sdata

2. 檔案合併

檔案合併使用cat命令,上面幾種方式分割的檔案都可以使用cat命令合併。

cat命令合併分割檔案:


$ cat stxt* > new_file.txt

3. 命令格式

3.1 split命令說明

split命令格式如下:

split [選項]… [要切割的檔案 [輸出檔案字首]]

命令引數

-a, –suffix-length=N   使用長度為 N 的字尾 (預設 2)

-b, –bytes=SIZE        設定輸出檔案的大小。支援單位:m,k

-C, –line-bytes=SIZE   設定輸出檔案的最大行數。與 -b 類似,但會盡量維持每行的完整性

-d, –numeric-suffixes  使用數字字尾代替字母

-l, –lines=NUMBER      裝置輸出檔案的行數

    –help     顯示版本資訊

    –version  輸出版本資訊

3.2 cat命令說明

cat是Linux下使用頻率較高的命令之一,該令詳細介紹:

cat連線檔案並列印到標準輸出裝置上

cat命令的常見使用場景有:

顯示檔案內容:


$ cat filename

建立一個空檔案:


$ cat > filename

檔案合併:


$ cat file1 file2 > file

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對指令碼之家的支援。

您可能感興趣的文章:

linux 查詢大目錄和大檔案的方法(推薦)Linux 中清空或刪除大檔案內容的五種方法Linux 下載百度網盤大檔案的方法