首先,让我们来了解如何使用`split`命令进行文件切割。`split`命令在Linux系统中非常方便地实现了文件的分割功能。其基本的命令语法是:
```bash split [OPTION]... [FILE [PREFIX]] ```
这里,`FILE`指的是需要分割的文件,而`PREFIX`则是分割后文件的命名前缀。如果不指定`FILE`或`FILE`为`-`,则会从标准输入读取数据。
举例来说,如果你想按照行数来切割文件,可以使用以下命令:
```bash split -l 300000 users.sql /data/users_ ```
这条命令会将`users.sql`文件切割成多个文件,每个文件包含300000行,文件名以`/data/users_`为前缀。
如果你希望使用数字后缀而不是默认的字母后缀,可以使用`-d`选项:
```bash split -d -l 300000 users.sql /data/users_ ```
此外,如果你希望按字节大小来分割文件,可以使用`-b`选项:
```bash split -d -b 100m users.sql /data/users_ ```
这条命令会将文件分割成每个100MB大小的文件。
接下来,让我们看看如何使用`cat`命令来合并这些分割后的文件。`cat`命令能够将多个文件的内容合并并输出到标准输出或指定文件中。其基本语法是:
```bash cat [OPTION]... [FILE]... ```
如果你想合并一系列文件,可以使用以下命令:
```bash cat /data/users_* > users.sql ```
这条命令会将`/data/users_`开头的所有文件合并到`users.sql`中。
`cat`命令还有一些有用的选项,比如`-n`可以显示行号,`-e`会在每行末尾添加`$`符号,而`-t`则会显示制表符(Tab)。
通过使用`split`和`cat`这两个命令,我们不仅能够有效地管理大型文件的传输,还能够灵活地进行文件的拆分和合并操作。这对于Linux系统管理员和IT技术人员来说,无疑是一个极大的便利。
在日常工作中,掌握这些命令的使用方法,能够帮助我们更高效地处理文件,提高工作效率。因此,无论你是系统管理员还是开发人员,都值得花时间学习和熟悉这些工具。
往往是因为网络传输的限制,导致很多时候,我们需要在 Linux 系统下进行大文件的切割。这样将一个大文件切割成为多个小文件,进行传输,传输完毕之后进行合并即可。
文件切割 - split
在 Linux 系统下使用 split 命令进行大文件切割很方便
命令语法
使用实例
# 行切割文件
$ split -l 300000 users.sql /data/users_
# 使用数字后缀
$ split -d -l 300000 users.sql /data/users_
# 按字节大小分割
$ split -d -b 100m users.sql /data/users_
```bash
**帮助信息**
```bash
# 帮助信息
$ 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; 使用新字符分割
‘’ (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’
文件合并 - cat
在 Linux 系统下使用 cat 命令进行多个小文件的合并也很方便
命令语法
-n: #显示行号
-e: #以$字符作为每行的结尾
-t: #显示TAB字符(^I)
cat [-n] [-e] [-t] [输出文件名]
使用实例
# 合并文件
$ cat /data/users_* 》 users.sql
帮助信息
# 帮助信息
$ 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’
作者: Escape
文章出处:【微信公众号:马哥Linux运维】
责任编辑:gt