Linux 下大文件分割与合并

Linux 下大文件分割与合并

命令:split
作用:按需切割文件
命令格式:

split [选项] [参数]/文件名 [输出文件名]

使用方法介绍:
选项如下:
-<行数>或-l<行数>  指定每多少行就要切成一个小文件。
-b<字节>  指定每多少字就要切成一个小文件。支持单位:m,k
-C<字节>  与-b参数类似,但切割时尽量维持每行的完整性。
--help  显示帮助。
--version  显示版本信息。
参数如下:
被切分的文件名
切分之后的文件名前缀,不指定默认(a...)。
使用案例
1、将一个大文件切割成大小为5G的小文件,小文件名以little为前缀

split -b 5G bigfile.txt little
split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo_

其中 --bytes 为小文件的大小, --suffix-length 为小文件的序号是几位的 , foo 原始文件名,foo_ 为小文件名,他会自动生成foo_001 这样的小文件。
这种方法分割的小文件不能保证分割处单行数据的完整性

2、将被分割的小文件合并

cat little* >  bigfile.txt

在Linux下用split进行文件分割:

模式一:指定分割后文件行数
对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割。
命令:split -l 300 large_file.txt new_file_prefix

模式二:指定分割后文件大小
对于可执行文件等二进制文件,则不能通过文件行数来进行文件分割,此时我们可以指定分割大小来分隔文件。
命令:split -b 10m large_file.bin new_file_prefix
对二进制文件我们同样也可以按文件大小来分隔。

在Linux下用cat进行文件合并:

命令:cat small_files* > large_file

/////////////////////////////////////////////////////////////////
Linx文件分割命令split manpage:

NAME
split - split a file into pieces
SYNOPSIS
split [OPTION] [INPUT [PREFIX]]
DESCRIPTION
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
use suffixes of length N (default 2)
-b, --bytes=SIZE
put SIZE bytes per output file
-C, --line-bytes=SIZE

posted @ 2021-03-15 16:48  michaelchengjl  阅读(808)  评论(0编辑  收藏  举报