歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux命令之大文件切分與合並

當面臨將一個大文件進行切分時,Linux的split命令是很好的選擇。它包含多種參數,支持按行、大小進行切分。

split命令的語法如下:

  1. split [--help][--version][-a ][-b][-C ][-l ][要切割的文件][輸出文件名前綴] 
split [--help][--version][-a ][-b][-C ][-l ][要切割的文件][輸出文件名前綴]

對應的參數描述如下:

  1. -a, --suffix-length=N 
  2.     使用的後綴長度 (默認為 2) 
  3. -b, --bytes=SIZE 
  4.     每個輸出文件的字節大小 
  5. -C, --line-bytes=SIZE 
  6.     每個輸出文件每行的最大字節大小 
  7. -d, --numeric-suffixes 
  8.     使用數字後綴代替字母後綴 
  9. -l, --lines=NUMBER 
  10.     設定每個輸出文件的行數 
  11. --help 顯示幫助信息 
  12. --version 
  13.     顯示版本信息 
-a, --suffix-length=N
    使用的後綴長度 (默認為 2)
-b, --bytes=SIZE
    每個輸出文件的字節大小
-C, --line-bytes=SIZE
    每個輸出文件每行的最大字節大小
-d, --numeric-suffixes
    使用數字後綴代替字母後綴
-l, --lines=NUMBER
    設定每個輸出文件的行數
--help 顯示幫助信息
--version
    顯示版本信息

下面舉幾個例子:

1)將文件splitTest.txt分割成多個文件,分割後的每個文件大小為10M。命令:

  1. $ split -b 20m splitTest.txt 
  2. $ ls 
  3. splitTest.txt  xaa  xab  xac 
$ split -b 20m splitTest.txt
$ ls
splitTest.txt  xaa  xab  xac

2)將文件splitTest.txt分割成多個文件,分割後的每個文件大小為10M。指定分割後的文件前綴位split,命令:

  1. $ split -b 20m splitTest.txt  split 
  2. $ ls 
  3. splitaa  splitab  splitac  splitTest.txt 
$ split -b 20m splitTest.txt  split
$ ls
splitaa  splitab  splitac  splitTest.txt

3)將文件splitTest.txt分割成多個文件,每個文件50萬行。命令:

  1. $ wc -l splitTest.txt   
  2. 1502216 splitTest.txt 
  3. $ split -l 500000 splitTest.txt  split 
  4. $ ls 
  5. splitaa  splitab  splitac  splitad  splitTest.txt 
$ wc -l splitTest.txt 
1502216 splitTest.txt
$ split -l 500000 splitTest.txt  split
$ ls
splitaa  splitab  splitac  splitad  splitTest.txt

4)將文件splitTest.txt分割成多個文件,每個文件50萬行。指定分割後的文件後綴為數字,數字位數為3位,命令:

  1. $ wc -l splitTest.txt   
  2. 1502216 splitTest.txt 
  3. $ split -l 500000 -d -a 3 splitTest.txt  split 
  4. $ ls 
  5. split000  split001  split002  split003  splitTest.txt 
$ wc -l splitTest.txt 
1502216 splitTest.txt
$ split -l 500000 -d -a 3 splitTest.txt  split
$ ls
split000  split001  split002  split003  splitTest.txt

可以使用cat命令將切分後的文件合並成新的文件:

  1. $ cat split0* > original.txt 

Copyright © Linux教程網 All Rights Reserved