【ubuntu】使用split切割大的日志文件

1、问题场景

 

 太慢了

 

 

2、命令

split -b 500m test.DEBUG.BAK test.DEBUG.BAK_

 

3、命令帮助

$ split --help
用法:split [选项]... [文件 [前缀]]
将 <文件> 拆分并输出到 "前缀aa""前缀ab" 等文件;
默认以 1000 行为拆分单位,默认 <前缀> 为 "x"。

如果没有指定 <文件>,或者 <文件> 为 "-",则从标准输入读取。

长选项的必选参数对于短选项也是必选的。
  -a, --suffix-length=N   生成长度为 N(默认为 2)的文件名后缀
      --additional-suffix=后缀  向文件名添加一个额外的 <后缀>
  -b, --bytes=大小        每个输出文件的大小为 <大小> 字节
  -C, --line-bytes=大小   每个输出文件包含完整的记录,且最大大小为 <大小> 字节
  -d                      使用从 0 开始的数字后缀代替字母后缀
      --numeric-suffixes[=初值]  类似 -d,但可以设定后缀的初值
  -x                      使用从 0 开始的十六进制数后缀代替字母后缀
      --hex-suffixes[=初值]  类似 -x,但可以设定后缀的初值
  -e, --elide-empty-files  和 "-n" 一起使用时,不生成空的输出文件
      --filter=命令       将输出用管道传递给 shell <命令>;文件名在 $FILE 中
  -l, --lines=数值        每个输出文件包含 <数值> 行(或称记录)
  -n, --number=块数       生成 <块数> 个输出文件。参见下面的说明。
  -t, --separator=分隔符  使用 <分隔符> 而不是换行符作为记录分隔符;
                            使用 "\0"(数字 0)指定 NUL 字符
  -u, --unbuffered        立即使用 "-n r/..." 将输入复制到输出
      --verbose           在打开每个输出文件前输出一条诊断信息
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

<大小> 参数是一个整数,后面可以跟一个单位(例如:10K 指 10*1024)。
可用的单位有 K、M、G、T、P、E、Z、Y(1024 的幂)以及 KB、MB、...(1000 的幂)。
也可以使用二进制前缀:KiB=K、MiB=M,以此类推。

<块数> 可以是:
  N       基于输入的大小分割为 N 个文件
  K/N     将 N 个文件中的第 K 个输出到标准输出
  l/N     分割为 N 个文件,但分割时不切断行(或称记录)
  l/K/N   将 N 个文件中的第 K 个输出到标准输出,但分割时不切断行(或称记录)
  r/N     类似 l 但使用轮转分配
  r/K/N   类似 r/N 但仅将 N 个文件中的第 K 个输出到标准输出

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告任何翻译错误
完整文档 <https://www.gnu.org/software/coreutils/split>
或者在本地使用:info '(coreutils) split invocation'

 

posted @ 2024-05-29 17:09  代码诠释的世界  阅读(276)  评论(0编辑  收藏  举报