用shell切分文件--split
2023-06-28 本文已影响0人
Q_Mia
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 输出版本信息并退出
- 按照文件大小切分,并指定后缀
split -b 10M aa.txt -d -a 1 date_
admin@dizhudeMacBook-Pro test_data % ls | grep date_
date_0
date_1
date_2
- 批量为文件添加后缀
ls |grep date_|xargs -n1 -I{} mv {} {}.txt
- 按行数切割,并重命名文件
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