问题描述
我有一个大文件(例如8GB)。我如何将它分成多个部分,让我们说3个相同的部分,之后我如何整合它们?
最佳解决方法
有几种方法可以实现这一点。我们从基本的开始。
使用split和cat命令:
让我们说我有一个形象和它太大(10MB)。我所做的只是:
split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces
然后把它放在一起我用 cat :
cat prefixFiles* > newimage.jpg
例如:
假设在图像所在的文件夹内:
split --bytes=1M myimage.jpg new
如果图像位于名为images的目录中,则也可以这样做:
split --bytes=1M images/myimage.jpg new
如果图像位于/home /cyrex /images目录中,您可以这样做:
split --bytes=1M /home/cyrex/images/myimage.jpg new
(在上面的所有情况下,它会将myimage.jpg
拆分为1MB块,并在前面加上单词new的名称,因此它们看起来像newaa
,newab
,newac
,newad
…)
如果你正在分割一个文本文件,并想通过行分割它,你可以这样做:
split -l 1000 book.txt new
它将在每行1000行的输出文件中拆分文本文件。这是拆分文件的另一种方式,主要用于日志,sql转储,csv文件等文本文件。
然后我合并它们
cat new* > newimage.jpg
这是一种方法。你甚至可以改变分割件的尺寸。只需将--bytes=1M
的部分更改为--bytes=1K
为1千字节或1G为千兆,或另一个数字如--bytes=4K
为4KB的部分。
使用 nautilus
另一种方式是Nautilus的gui中的压缩选项。它提供了一个选项,可以将要压缩的文件或文件分割成更小的兆字节大小。它简单而轻松。
另一种方式是使用7z
假设你有一个名为ubuntu.iso
的ISO映像,你可以这样做:
7z a -v5m -mx0 ubuntu.7z ubuntu.iso
这将从ubuntu.iso
创建5MB大小的文件。 -v5m
是音量大小,因此您可以将其更改为10,12,1,3,并且m可以更改为k(千字节等)。 -mx0
开关告诉7-Zip不使用压缩,也就是说,只是将数据拆分成部分。
提取只是做
7z x ubuntu.7z.001
这样你提取第一个文件,7z开始从下列文件按顺序提取。你也可以做
7z e ubuntu.7z.001
这在这里有相同的效果。
次佳解决方法
使用适当数量的split -b
,您可以获得三件。
数量可能是:
size=$(wc -c <"file name")
one_third=$((size/3+1))
要重新组装,请使用cat
cat "file name"* > "file name"
手册页将帮助填写详细信息。
第三种解决方法
HJSplit
是流行的免费软件程序来分割和重组文件。该程序可在Windows,Linux和各种其他平台上使用。
HJSplit for Linux是一款免费的Linux文件分割器,具有完整的图形user-interface。 HJSplit支持超过100GB的文件大小,Split,Join /Recombine,MD5校验和file-compare,“无需安装即可运行”,程序完全可移植。
HJSplit for Linux不需要安装,它不依赖任何特殊的库。只需将hjsplitlx.tar.gz压缩文件解压缩到您选择的目录中,然后从Linux文件管理器或终端窗口启动该程序。您可能需要将程序的文件权限调整为’executable’。
第四种方法
侏儒分裂? http://gnome-split.org/
GNOME Split is a tool that allows you to split files and merge them back. It is written in Java and uses a GTK+ user interface (thanks to the java-gnome project). The goal is to offer a native implementation of similar projects which can handle multiple file formats (e.g. Xtremsplit).
http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/
第五种方法
HOZ – Hacha Open Zource v1.65 – http://hoz.sourceforge.net/
来自开发者:
OZ is what you would call a ‘file splitter’. Its file format is the same as the one used by the ‘Hacha’ software, a well known splitter in Spain and Latinamerica. HOZ is an open-source and portable C implementation of an ‘Hacha’ compatible splitter.
HOZ is smaller and faster than ‘Hacha’.
btw, I used a ‘Z’ isntead of a ‘S’ in ‘Zource’ because ‘hoz’ is ‘sickle’ in spanish, and since ‘hacha’ is the spanish word for ‘axe’…
安装后,您可以通过在终端中放置ghoz
来使用Hoz GUI。操作非常简单,无需解释,但可以在开发人员的网站上获得更多信息。
祝你好运!