Linux-split命令

0x00前言

  当一个几百G的大文件需要分割成多个小文件,Linux下的split命令可以按行、按文件大小分割。

0x01使用

split [-bl] filename 生成文件的前缀名

  在Linux命令行输入split –help可以弹出使用信息如下:

-a, --suffix-length=N   generate suffixes of length N (default 2)
      --additional-suffix=SUFFIX  append an additional SUFFIX to file names.
  -b, --bytes=SIZE        put SIZE bytes per output file
  -C, --line-bytes=SIZE   put at most SIZE bytes of lines per output file
  -d, --numeric-suffixes[=FROM]  use numeric suffixes instead of alphabetic.
                                   FROM changes the start value (default 0).
  -e, --elide-empty-files  do not generate empty output files with '-n'
      --filter=COMMAND    write to shell COMMAND; file name is $FILE
  -l, --lines=NUMBER      put NUMBER lines per output file
  -n, --number=CHUNKS     generate CHUNKS output files.  See below
  -u, --unbuffered        immediately copy input to output with '-n r/...'
      --verbose           print a diagnostic just before each
                            output file is opened
      --help     display this help and exit
      --version  output version information and exit

SIZE is an integer and optional unit (example: 10M is 10*1024*1024).  Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).

常用参数介绍:

-a 设置切割后文件名的可变范围(默认为2)即xaa-xzz
-b 设置按大小分割文件(可以使用K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000))
-C 设置每一行的最大bytes
-d 将输出文件名可变改为数字模式(未改变-a参数的话,文件名:x00-x99)
-e 省略空文件输出
-l 设置按文件行数分割文件

0x02使用实例:

1、将文件test.txt按每100M大小分割,并且前缀名为test

split -b 100M test.txt test

按文件大小分割
2、将文件test.txt按每10000行分割,前缀名为test,并设置文件命名为数字

split -l 10000 -d test.txt test

按行数分割