通過split命令分割大檔案

2022-09-18 14:36:14 字數 883 閱讀 6528

應用場景

面試題:大檔案,小記憶體怎麼讀取

線上出問題,通過查詢log定位問題,由於線上資料量龐大,這些log檔案可能達到了五六g以上的大小。

對於這種巨大的log檔案,常用的一些文字編輯器諸如editplus、notepad++就不用說了,開啟幾百m的檔案都會很卡,上g的直接程式崩潰。雖然ultraedit對於大檔案的讀取會友好一些,但開啟這種五六g的檔案時也會陷入長時間的無響應狀態。

後來找到看log神器——glogg,開啟五六g的大檔案速度很快,但是有個問題,就是只能讀取檔案,不能編輯檔案。畢竟我不只是要檢視log,有時候還要對這些有用的log資訊進行編輯。最後還是決定先把大檔案分割成數個小檔案,再用ultraedit來檢視這些檔案。

使用split命令分割大檔案

在linux下,切割和合併檔案可以使用split和cat命令來實現。

在windows下,安裝git bash也可以使用split和cat命令。

分割檔案的命令是split,通過輸入split --help可以查詢幫助資訊。假設現在有個6gb大小的檔案test.log,這裡簡單介紹下幾種分割的方式:

1. 按大小分割檔案

split -b 1000000000 test.log

2. 按照所有行數加起來的最大位元組數進行分割

split -c 100k test.log

3. 按照行數進行分割

split -l 1000 test.log

split -1000 test.log

4. 注意點

這三種分割的方式不能混合使用,如下:

split -l 3000 -c 100k *

會報錯split: cannot split in more than one way。

linux大檔案分割 split命令

linux大檔案分割 split命令 inux split命令 功能說明 切割檔案。語 法 split help version 行數 b 位元組 c 位元組 l 行數 要切割的檔案 輸出檔名 行數 位元組 位元組 行數 補充說明 split可將檔案切成較小的檔案,預設每1000行會切成乙個小檔案。...

linux大檔案分割 split命令

inux split 命令 功能說明 切割檔案。語 法 split help version b c l 要切割的檔案 輸出檔名 補充說明 split可將檔案切成較小的檔案,預設每1000行會切成乙個小檔案。參 數 或 l 指定每多少行就要切成乙個小檔案。b 指定每多少字就要切成乙個小檔案。支援單位...

linux大檔案分割 split命令

linux split 命令 功能說明 切割檔案。語 法 split help version 行數 b 位元組 c 位元組 l 行數 要切割的檔案 輸出檔名 補充說明 split可將檔案切成較小的檔案,預設每1000行會切成乙個小檔案。參 數 行數 或 l 行數 指定每多少行就要切成乙個小檔案。b...