Linux 大文件如何切割与合并?(1)

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

# 使用数字后缀

$ split -d -l 300000 users.sql /data/users_

# 按字节大小分割

$ split -d -b 100m users.sql /data/users_

[3] 帮助信息

# 帮助信息

$ split --help

Usage: split [OPTION]… [FILE [PREFIX]]

Output pieces of FILE to PREFIXaa, PREFIXab, …;

default size is 1000 lines, and default PREFIX is ‘x’.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-a, --suffix-length=N   generate suffixes of length N (default 2)            后缀名称的长度(默认为2)

–additional-suffix=SUFFIX  append an additional SUFFIX to file names

-b, --bytes=SIZE        put SIZE bytes per output file                       每个输出文件的字节大小

-C, --line-bytes=SIZE   put at most SIZE bytes of records per output file    每个输出文件的最大字节大小

-d                      use numeric suffixes starting at 0, not alphabetic   使用数字后缀代替字母后缀

–numeric-suffixes[=FROM]  same as -d, but allow setting the start value

-e, --elide-empty-files  do not generate empty output files with ‘-n’        不产生空的输出文件

–filter=COMMAND    write to shell COMMAND; file name is $FILE           写入到shell命令行

-l, --lines=NUMBER      put NUMBER lines/records per output file             设定每个输出文件的行数

-n, --number=CHUNKS     generate CHUNKS output files; see explanation below  产生chunks文件

-t, --separator=SEP     use SEP instead of newline as the record separator;  使用新字符分割

‘\0’ (zero) specifies the NUL character

-u, --unbuffered        immediately copy input to output with ‘-n r/…’     无需缓存

–verbose           print a diagnostic just before each                  显示分割进度

output file is opened

–help     display this help and exit                                    显示帮助信息

–version  output version information and exit                           显示版本信息

The SIZE argument is an integer and optional unit (example: 10K is 10*1024).

Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,… (powers of 1000).

CHUNKS may be:

N       split into N files based on size of input

K/N     output Kth of N to stdout

l/N     split into N files without splitting lines/records

l/K/N   output Kth of N to stdout without splitting lines/records

r/N     like ‘l’ but use round robin distribution

r/K/N   likewise but only output Kth of N to stdout

GNU coreutils online help: http://www.gnu.org/software/coreutils/

Full documentation at: http://www.gnu.org/software/coreutils/split

or available locally via: info ‘(coreutils) split invocation’


2. 文件合并 - cat


在 Linux 系统下使用 cat 命令进行多个小文件的合并也很方便

[1] 命令语法

# -n: 显示行号

# -e: 以$字符作为每行的结尾

# -t: 显示TAB字符(^I)

cat [-n] [-e] [-t] [输出文件名]

[2] 使用实例

# 合并文件

$ cat /data/users_* > users.sql

[3] 帮助信息

# 帮助信息

$ cat --h

Usage: cat [OPTION]… [FILE]…

Concatenate FILE(s) to standard output.

With no FILE, or when FILE is -, read standard input.

-A, --show-all           equivalent to -vET

-b, --number-nonblank    number nonempty output lines, overrides -n

-e                       equivalent to -vE

-E, --show-ends          display $ at end of each line

-n, --number             number all output lines

-s, --squeeze-blank      suppress repeated empty output lines

-t                       equivalent to -vT

-T, --show-tabs          display TAB characters as ^I

-u                       (ignored)

-v, --show-nonprinting   use ^ and M- notation, except for LFD and TAB

–help     display this help and exit

–version  output version information and exit

Examples:

cat f - g  Output f’s contents, then standard input, then g’s contents.

cat        Copy standard input to standard output.

GNU coreutils online help: http://www.gnu.org/software/coreutils/

Full documentation at: http://www.gnu.org/software/coreutils/cat

or available locally via: info ‘(coreutils) cat invocation’

面试题总结

其它面试题(springboot、mybatis、并发、java中高级面试总结等)

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
中高级面试总结等)**

[外链图片转存中…(img-i6CvWGBc-1714511321196)]

[外链图片转存中…(img-aQFmViQu-1714511321196)]

[外链图片转存中…(img-VWIpM5c6-1714511321197)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值