Contents

在UNIX系统中拆分文件

1. 简介

在这个简短的教程中,我们将了解在 Unix 系统中分割文件的几种不同方法。

所有这些命令都在 Bash 中进行了测试,但与平台无关。

2. 使用split

分割文件的最常见方法之一是按给定大小将它们分成块。为此,我们可以使用*split *命令。

假设我们有一个 50MB 的文本文件,我们想将它分成五个 10MB 的部分。我们所做的就是:

split --bytes=10M data.txt dataPartPrefix

这将导致创建五个具有以下名称的文件:

dataPartPrefixa
dataPartPrefixb
dataPartPrefixc
dataPartPrefixd
dataPartPrefixe

请注意,我们的前缀名称后面将跟随以下字母。在命令中添加*-d*将使用从 0 开始的数字后缀,而不是字母后缀。 –byte s参数接受整数值或单位(例如:10K 是 10*1024)。单位是 K、M、G、T、P、E、Z、Y 代表 1024 的幂或 KB、MB 等代表 1000 的幂

我们还可以将文件拆分为 给定数量的大小相等的块

split --number=2 data.txt dataPartPrefix

这将创建两个大小为 5MB 的文件:

dataPartPrefixa
dataPartPrefixb

如果我们要**拆分一个文本文件并想按行拆分 它,**我们可以这样做:

split -l 500 data.txt dataPartPrefix

这将根据原始文件内容长度生成许多文件。

**要将数据重新组合在一起,**我们可以使用cat

cat dataPartPrefix* > newData.txt

3. 使用 7-Zip 分割文件

我们还可以在创建7-Zip 存档时拆分文件。这将导致创建多个存档卷。 假设我们有相同的 50MB 文本文件,我们想将它分成 10MB 的档案。我们所做的就是:

7z a -v10m -mx0 data.7z data.tzt

10m是卷大小,-mx0告诉7-Zip 不使用压缩。

运行此命令后,我们的目录中将有以下文件:

data.txt
data.7z.001
data.7z.002
data.7z.003
data.7z.004
data.7z.005

要取回原始文件,我们应该简单地提取第一卷:

7z x data.7z.001

7-Zip 将自动开始按顺序提取剩余文件。