場景:接到需求,需要將乙個五千萬的表資料匯出上傳;
要求:檔案大小小於2g,每個檔案需增加行號,檔案中的每個字段長度與介面規範保持一致;
操作:第一步:將表中資料匯出生成檔案di_tmp.20200229,指定tab符為分割符;根據每行檔案的總長度,每個檔案大小小於2g,計算出每個檔案的記錄數為80萬
第二步:分割檔案,80萬記錄為乙個檔案,通過split命令對檔案按行數進行分割
split -l 800000 di_tmp.20200229 new_di_tmp.20200229
分割後有多個檔案,新檔案的名稱為:new_di_tmp.20200229aa,new_di_tmp.20200229ab,new_di_tmp.20200229ab...
第三步:對分割後的檔案進行定長轉換,通過awk命令對檔案進行定長轉換
cat new_di_tmp.20200229aa |awk -f"\t" ''
這裡需要注意:awk命令後跟的分割符"\t",需要和資料庫匯出資料的分割符一致,這裡都是用的tab符;通過fnr增加行號
操作結束。
linux 分割大檔案
你曾經是否想要把乙個大檔案分割成多個小檔案?比如乙個5gb日誌檔案,我們需要把它分成多個小檔案,這樣我們才有可能使用普通的文字編輯器讀取它。有時我們需要傳輸20gb的大檔案到另一台伺服器,這就需要我們把它分割成多個檔案,這樣便於傳輸資料。下面我們來通過五個例項來講解它。split命令分割檔案成每個檔...
linux 大檔案分割 split
1,split b 100m d a 3 test.log small test log 結果 small test log 001 small test log 002 small test log 003 每個檔案的大小為100mb 2,split b 100m test.log small t...
大檔案分割上傳
有的時候我們想要操作的檔案很大,比如 我們想要上傳乙個大檔案,但是收到上傳檔案大小的限制,無法上傳,這是我們可以將乙個大的檔案分割成若干個小檔案進行操作,然後再把小檔案還原成原始檔。對應的js function submitform begin,part done function result f...