Centos檔案切割利器_split命令及cat命令合併檔案

OldBoy~發表於2018-02-05

有個檔案要處理,因為很大,所以想把它切成若干份,每份N行,以便並行處理。split命令可以將一個大檔案分割成很多個小檔案,有時需要將檔案分割成更小的片段,為提高可讀性,生成日誌等

命令格式

  • -b:值為每一輸出檔案的大小,單位為 byte。
  • -C:每一輸出檔中,單行的最大 byte 數。
  • -d:使用數字作為字尾。
  • -l:值為每一輸出檔的列數大小。

測試

環境:Centos 6.5  測試檔案:test.txt(大小493257位元組,行數4545行)

①按行數分割

# split -l 1000 test.txt new_test.txt  //檔案一共4545行,按每個檔案1000行分割,那麼生成5個檔案
# ls
new_test.txtaa  new_test.txtab  new_test.txtac  new_test.txtad  new_test.txtae  test.txt       //分別以a、b、c、d、e結尾

加上-d,使用數字字尾;加上--verbose,顯示分割進度(可有可無)

# split -l 1000 -d test.txt new_test.txt --verbose
creating file `new_test.txt00'
creating file `new_test.txt01'
creating file `new_test.txt02'
creating file `new_test.txt03'
creating file `new_test.txt04'
# ls
new_test.txt00  new_test.txt01  new_test.txt02  new_test.txt03  new_test.txt04  test.txt  //結尾分別00、01、02、03、04

② 按位元組大小分割

# split -b 100k -d test.txt new_test.txt  //檔案一共400多K,每個100K,所以分割五份

 

 

cat命令合併以上分割檔案

# cat new_test.txt* > merge_file.txt

執行完畢,檢視檔案大小,與原始檔大小一致。

 

相關文章