在Unix/Linux系统中拆分文件
评论 0
浏览 0
2019-10-13
1.绪论
在这个简短的教程中,我们将看一下在Unix系统中分割文件的几种不同方式。
所有这些命令都是在Bash中测试的,但与平台无关。
2.使用split
分割文件最常见的方法之一是按给定的大小把它们分成几块。要做到这一点,我们可以使用split命令。
假设我们有一个50MB的文本文件,我们想把它分成五个10MB的部分。我们所要做的就是
split --bytes=10M data.txt dataPartPrefix
这将导致创建5个文件,其名称如下。
dataPartPrefixa
dataPartPrefixb
dataPartPrefixc
dataPartPrefixd
dataPartPrefixe
注意,我们的前缀名称后面会有以下字母。在命令中加入-d将使用从0开始的数字后缀,而不是字母后缀。
–bytes参数接受整数值或一个单位(例如:10K是10*1024)。1024次方的单位是K、M、G、T、P、E、Z、Y,1000次方的单位是KB、MB,等等。
我们还可以split将一个文件分成给定数量的大小相同的块。
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会自动开始按顺序解压剩余的文件。
4.总结
在本教程中,我们已经学会了如何在Unix系统中分割文件,并对split和7-Zip命令进行了考察。
0 个评论