split 命令
split
命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。
命令用法
将文件 FILE
分割为 PREFIXaa
、PREFIXab
等多个文件,其中:
默认每 1000 行划分为一个文件,而且默认的前缀
PREFIX
为x
;如果没有指定
FILE
或者FILE
为-
,则从标准输入读取。
常用可选参数
参数 | 说明 |
-a, --suffix-length=N | 以长度 N 作为划分后的输出文件后缀,默认 N 为 2,即 |
--additional-suffix=SUFFIX | 给文件名添加一个 |
-b, --bytes=SIZE | 以指定的 |
-C, --line-bytes=SIZE | 设置每一个输出文件最多有 |
-d | 使用以 0 开始的数字作为后缀而不使用字母后缀 |
--numeric-suffixes[=FROM] | 和 |
-e, --elide-empty-files | 配合 |
-l, --lines=NUMBER | 以指定的行数或记录数 |
-n, --number=CHUNKS | 以指定的块 |
-t, --separator=SEP | 使用指定的 |
--verbose | 显示运行状态信息 |
以上的 SIZE
参数是一个整数加上一个可选的单位(例如 10K
是 10*1024
);
单位可以是 K,M,G,T,P,E,Z,Y (以 1024 为阶)或者 KB,MB...(以 1000 为阶)
CHUNK 参数
参数 | 说明 |
N | 根据输入文件的大小平均划分为 N 个文件 |
K/N | 划分为 N 个文件,输出其中的第 K 个文件到 stdout 标准输出中 |
l/N | 划分为 N 个文件,但不划分行或者记录 |
l/K/N | 划分为 N 个文件,但不划分行或者记录,输出其中的第 K 个文件到 stdout 标准输出中 |
r/N | 和 |
r/K/N | 和上面的参数类似但只输出第 K 个文件到标准输出 |
使用实例
Last updated