linux文件拆分命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件拆分命令相关的知识,希望对你有一定的参考价值。

Linux中分割文件用split命令,这个命令可以将一个文件分割成指定大小的多个文件,split命令的用法是:
split -b 分割的大小 需要分割的文件名 分割后文件的前导文字
这里解释一下,-b参数表示按照文件大小单位来进行分割(split命令还有一个-l参数,是根据文本文件的行数来进行分割,这个-b参数是根据大小来分割的),-b参数后面跟的是分割的依据——文件大小,文件大小的单位可以是b、k、m,比如300m。“分割后文件的前导文字”是干嘛的呢,其实是在分割后的文件名前面加上一个前缀。下面是一个例子,就假设需要分割的文件是/root/bigfile:
split -b 50m /root/bigfile chunk
这条命令产生的分割文件可能是:chunkaa、chunkab、chunkac,看到前导文字的作用了吧。
那么如何将分割后的文件再合并起来呢,还是接着上面的那个例子,用下面这条命令就可以了(先用cd /root切换到/root目录):
cat chunk* >> bigfile
参考技术A linux split 命令
  功能说明:切割文件。
  语  法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
  补充说明:split可将文件切成较小的文件,预设每1000行会切成一个小文件。
  参  数:
  -<行数>或-l<行数>  指定每多少行就要切成一个小文件。
  -b<字节>  指定每多少字就要切成一个小文件。支持单位:m,k
  -C<字节>  与-b参数类似,但切割时尽量维持每行的完整性。
  --help  显示帮助。
  --version  显示版本信息。
[输出文件名]  设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号。命令的详细介绍可看“Linux命令大全”。

linux命令---split

大文件拆分命令split:

    下面的列表中给出了该命令最为常用的几个命令行选项:

选项 描述
-l 指定行数,每多少分隔成一个文件,缺省值为1000行。
-b 指定字节数,支持的单位为:k和m
-C 与-b参数类似,但切割时尽量维持每行的完整性
-d 生成文件的后缀为数字,如果不指定该选项,缺省为字母

    /> ls -l
    -rw-r--r--. 1 root root 10530 Nov 11 23:08 test.tar.bz2

    /> split -b 5k test.tar.bz2     #以每文件5k的大小切割test.tar.bz2
    /> ls -l                                #查看切割后的结果,缺省情况下拆分后的文件名为以下形式。
    -rw-r--r--. 1 root root 10530 Nov 11 23:08 test.tar.bz2
    -rw-r--r--. 1 root root   5120 Nov 11 23:34 xaa
    -rw-r--r--. 1 root root   5120 Nov 11 23:34 xab
    -rw-r--r--. 1 root root     290 Nov 11 23:34 xac

    /> rm -f x*                         #删除拆分后的小文件
    /> split -d -b 5k test.tar.bz2 #-d选项以后缀为数字的形式命名拆分后的小文件
    /> ls -l
    -rw-r--r--. 1 root root 10530 Nov 11 23:08 test.tar.bz2
    -rw-r--r--. 1 root root   5120 Nov 11 23:36 x00
    -rw-r--r--. 1 root root   5120 Nov 11 23:36 x01
    -rw-r--r--. 1 root root     290 Nov 11 23:36 x02

    /> wc install.log -l             #计算该文件的行数
    /> split -l 300 install.log     #每300行拆分成一个小文件
    /> ls -l x*
    -rw-r--r--. 1 root root 11184 Nov 11 23:42 xaa
    -rw-r--r--. 1 root root 10805 Nov 11 23:42 xab
    -rw-r--r--. 1 root root 12340 Nov 11 23:42 xac
    -rw-r--r--. 1 root root 11783 Nov 11 23:42 xad
    -rw-r--r--. 1 root root   2105 Nov 11 23:42 xae

以上是关于linux文件拆分命令的主要内容,如果未能解决你的问题,请参考以下文章

linux 如何将一个大文件分成几个小文件

linux解压拆分的压缩包

Linux命令拆分大文件 split -l xxx split -b xxx

linux环境下,用shell脚本对一个文件内容拆分到指定文件里面

我可以使用 split linux 命令拆分压缩的 sql 文件吗?如果不是,那么还有啥其他方法可以做吗?

Linux之split拆分文件