用shell切分文件--split

split --help
[root@dw-hsd02-pe connect]# 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   生成长度为N的后缀(默认值2)
      --additional-suffix=SUFFIX  文件名后面附加一个后缀
  -b, --bytes=SIZE        按大小切割文件 -b 10k/10m/..
  -C, --line-bytes=SIZE   按字节切割文件类-b
  -d, --numeric-suffixes[=FROM]  使用数字后缀替代字母
                                   FROM changes the start value (default 0)
  -e, --elide-empty-files  不生成带有'-n'的空输出文件
      --filter=COMMAND    write to shell COMMAND; file name is $FILE
  -l, --lines=NUMBER      按行切割文件
  -n, --number=CHUNKS     按生成文件个数切割
  -u, --unbuffered        immediately copy input to output with '-n r/...'
      --verbose           打印日志
      --help     打印帮助文档
      --version  输出版本信息并退出
  1. 按照文件大小切分,并指定后缀
split -b 10M aa.txt -d -a 1 date_
admin@dizhudeMacBook-Pro test_data % ls | grep date_
date_0
date_1
date_2
  1. 批量为文件添加后缀
ls |grep date_|xargs -n1 -I{} mv {} {}.txt
  1. 按行数切割,并重命名文件
admin@dizhudeMacBook-Pro test_data % split -l 500000 100w.txt -d -a 1 date_
admin@dizhudeMacBook-Pro test_data % ls date_*
date_0  date_1  date_2  date_3
admin@dizhudeMacBook-Pro test_data % ls |grep date_|xargs -n1 -I{} mv {} {}.txt
admin@dizhudeMacBook-Pro test_data % ls date_*
date_0.txt  date_1.txt  date_2.txt  date_3.txt
admin@dizhudeMacBook-Pro test_data % wc -l date_0.txt 
500000 date_0.txt
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简单明了,直接上命令 基础版 -l:按行分隔,每1000行切割test.txt文件-d:添加数字后缀-a:以3位数...
    风筝flying阅读 15,657评论 1 2
  • 一:切分 当面临将一个大文件进行切分时,linux的split命令是很好的选择。它包含多种参数,支持按行、大小进行...
    徐德东阅读 2,309评论 0 2
  • http://c.biancheng.net/linux/split.html 15 分钟之后,我要去朋友家聚会。...
    榴莲气象阅读 621评论 0 0
  • 前言 当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得...
    江东_61b3阅读 2,324评论 0 0
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 2,801评论 0 8