欢迎关注Hadoop、Spark、Flink、Hive、Hbase、Flume等大数据资料分享微信公共账号:iteblog_hadoop
  1. 文章总数:961
  2. 浏览总数:11,484,575
  3. 评论:3873
  4. 分类目录:103 个
  5. 注册用户数:5843
  6. 最后更新:2018年10月17日
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
iteblog_hadoop
大数据技术博客公众号bigdata_ai
大数据猿:
bigdata_ai

Linux切割文件命令:split

  Linux提供了spilt命令来切割文件,我们可以按照行、文件大小对一个大的文件进行切割。先来看看这个命令的帮助:

[iteblog@iteblog iteblog]$ split --help
Usage: split [OPTION]... [INPUT [PREFIX]]
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   use suffixes of length N (default 2)
  -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  use numeric suffixes instead of alphabetic
  -l, --lines=NUMBER      put NUMBER lines per output file
      --verbose           print a diagnostic just before each
                            output file is opened
      --help     display this help and exit
      --version  output version information and exit

SIZE may be (or may be an integer optionally followed by) one of following:
KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.

Report split bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'split invocation'

  从帮助文件输出的信息我们可以看出,split命令支持两种特别的切割:按行和按大小。其中按大小切又可以分为两种:按固定大小切,这种模式下切出的文件大小和用户传进来的参数大小一致,但会出现一行文本被拆成几行;按最接近大小切,不会出现一行文本被切成几行的情况。

下面我们来看看如何使用split命令。假如我们需要按行切,可以用下面命令实现:

[iteblog@iteblog iteblog]$ split -l 100 test

这样会产生很多个小文件,并且每个小文件里面的内容最多为100行;

如果我们需要按照大小切,可以用下面命令实现:

[iteblog@iteblog iteblog]$ split -b 1m test

这样会产生很多大小为1MB的文件,如果我们不想一行数据被切割,那么可以使用下面命令实现:

[iteblog@iteblog iteblog]$ split -C 1m test

结果也是会产生很多的大小小于1MB的文件,而且一条记录不会被拆成多行。

split默认产生的文件格式不太好,我们可以自定义输出文件的后缀等信息:

[iteblog@iteblog iteblog]$ split -C 1m result -d -a 4 iteblog

  -d参数是使用数字替代字母当作后缀;-a指的是采用多少位数字或字母当做后缀;最后面的iteblog代表切割出来文件的前缀。这样产生出来的文件名称为iteblogxxxx,其中x代表一位数字。

本博客文章除特别声明,全部都是原创!
转载本文请加上:转载自过往记忆(https://www.iteblog.com/)
本文链接: 【Linux切割文件命令:split】(https://www.iteblog.com/archives/1545.html)
喜欢 (5)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!