在UNIX系统中拆分文件
Contents
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 将自动开始按顺序提取剩余文件。