如何将较大的文件分割成较小的部分?

如何将较大的文件分割成较小的部分?

我有一个大文件(例如 8GB)。如何将其拆分成多个部分,比如说 3 个相等的部分,然后如何将它们合并?

答案1

有几种方法可以实现这一点。让我们从最基本的方法开始。

使用分裂命令:

假设我有一张图片,但它太大了(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

(在上述所有情况下,它将分成1MBmyimage.jpg大小的块,并在块的名称前加上单词 new。因此它们看起来像newaa,,,... )newabnewacnewad

如果你要拆分文本文件并且想要按行拆分,您可以这样做:

split -l 1000 book.txt new

这会将文本文件拆分为每行 1000 行的输出文件。这是拆分文件的另一种方法,主要用于日志、sql 转储、csv 文件等文本文件。

然后我合并它们

cat new* > newimage.jpg

这是一种方法。您甚至可以更改分割片段的大小。只需将表示为 1 千字节或 1G 的部分更改--bytes=1M--bytes=1K千兆,或者将表示--bytes=4K为 4KB 片段的其他数字更改为其他数字即可。

使用鹦鹉螺

另一种方法是 Nautilus 的 GUI 中的压缩选项。它为您提供了将要压缩的文件分割成更小兆字节大小的选项。它简单又容易。

另一种方法是使用7z

假设您有一个名为的 ISO 映像,ubuntu.iso您可以执行以下操作:

7z a -v5m -mx0 ubuntu.7z ubuntu.iso

这将从中创建 5MB 大小的文件ubuntu.iso-v5m是卷大小,因此您可以将其更改为 10、12、1、3,也可以将 m 更改为 k(表示千字节)等;开关-mx0告诉 7-Zip 不使用压缩,即仅将数据拆分成几部分。

要提取只需这样做

7z x ubuntu.7z.001

这样,您提取第一个文件,然后 7z 按顺序开始提取后续文件。您也可以这样做

7z e ubuntu.7z.001

在这里有同样的效果。

答案2

与适当的数字一起使用split -b,您可以获得三件。

数字可能是:

size=$(wc -c <"file name")
one_third=$((size/3+1))

要重新组装,请使用 cat

cat "file name"* > "file name"

手册页将有助于填写详细信息。

答案3

侏儒分裂?http://gnome-split.org/

GNOME Split 是一款允许您分割文件并将它们合并的工具。它用 Java 编写,使用 GTK+ 用户界面(得益于 java-gnome 项目)。其目标是提供类似项目的本地实现,可以处理多种文件格式(例如 Xtremsplit)。

http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/

答案4

樵夫

用 Java 开发的免费文件分割和合并实用程序。它是一款小型应用程序,允许用户将任何类型的文件分割成较小的文件(以 KB、MB 或 GB 为单位)。

它适用于 Linux 和 Windows。

WoodCutter 提供 3 种合并回原始文件的方法。WoodCutter 会创建一个合并文件,WoodCutter 应用程序可以处理该文件以将所有文件合并回原处。如果分割文件的接收方未安装 WoodCutter,那么也可以获取原始文件,因为 WoodCutter 还会创建一个批处理文件和一个 Shell 脚本文件来合并回文件。批处理文件将在 Windows 平台上使用,而 Shell 脚本将在 Linux 平台上使用。

http://java-puzzle.blogspot.com/2009/07/woodcutter.html

相关内容