博客文章已转移到新地址,本地址暂时保留,新文章仅在新地址更新。[置顶]

linux下用split分割文件

作者:小宝 2017-05-09 12:05:58

有时候需要将linux文件远程下载,而用sz命令结合xshell和方便,但是当你要下载一个大于4G的文件时,就会提示文件过大了。当然可以用其它下载工具,比如FlashFxp等。

简单的方法就是分割文件下载下来再合并,在linux合并可以用cat不用说了。现在分割一个5.5G的大文件。

运行split --help可以出来split的使用说明:

[tingguang@localhost 4000ns]$ split --help
用法:split [选项]... [输入 [前缀]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is 'x'.  With no INPUT, or when INPUT
is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
  -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 在每个输出文件打开前输出文件特征
      --help 显示此帮助信息并退出
      --version 显示版本信息并退出

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).

CHUNKS may be:
N       split into N files based on size of input
K/N     output Kth of N to stdout
l/N     split into N files without splitting lines
l/K/N   output Kth of N to stdout without splitting lines
r/N     like 'l' but use round robin distribution
r/K/N   likewise but only output Kth of N to stdout


下面举个例子,我将5.5G的一个文件分割成每部分1G:


split -b 1000m pbc-whole.xtc pbc

说明:-b后面指定文件的大小,可以是m和k为单位,然后是要分割的文件,最后的分割后的文件名的前缀:

上面的执行后我用ll -ht 查看分割后的文件大小:

[tingguang@localhost 4000ns]$ split -b 1000m pbc-whole.xtc  pbc
[tingguang@localhost 4000ns]$ ll -ht
总用量 11G
-rw-rw-r--. 1 tingguang tingguang  539M 5月   8 22:02 pbcaf
-rw-rw-r--. 1 tingguang tingguang 1000M 5月   8 22:02 pbcae
-rw-rw-r--. 1 tingguang tingguang 1000M 5月   8 22:02 pbcad
-rw-rw-r--. 1 tingguang tingguang 1000M 5月   8 22:01 pbcac
-rw-rw-r--. 1 tingguang tingguang 1000M 5月   8 22:01 pbcab
-rw-rw-r--. 1 tingguang tingguang 1000M 5月   8 22:01 pbcaa
-rw-r--r--. 1 tingguang tingguang  5.5G 5月   8 20:00 pbc-whole.xtc
[tingguang@localhost 4000ns]$ 

最后一个是原始文件,pbcaa~pbcaf是分割成的文件。


©BRISKLAN;备案信息:桂ICP备16004757号-1