首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用tar、gz、zip或bzip2拆分文件

使用tar、gz、zip或bzip2拆分文件
EN

Stack Overflow用户
提问于 2009-07-13 15:17:34
回答 4查看 230.1K关注 0票数 150

我需要压缩一个17-20 GB的大文件。我需要把它分成几个文件,每个文件大约1 1GB。

我通过谷歌搜索了解决方案,并找到了使用splitcat命令的方法。但它们根本不适用于大文件。此外,它们不能在Windows中工作;我需要在Windows机器上解压它。

EN

回答 4

Stack Overflow用户

发布于 2009-07-13 17:59:55

您可以使用带有-b选项的split命令:

代码语言:javascript
复制
split -b 1024m file.tar.gz

它可以使用@Joshua的答案在Windows机上重新组装。

代码语言:javascript
复制
copy /b file1 + file2 + file3 + file4 filetogether

编辑:正如@Charlie在下面的评论中所述,您可能希望显式地设置前缀,否则它将使用x,这可能会令人困惑。

代码语言:javascript
复制
split -b 1024m "file.tar.gz" "file.tar.gz.part-"

// Creates files: file.tar.gz.part-aa, file.tar.gz.part-ab, file.tar.gz.part-ac, ...

编辑:编辑帖子,因为问题已经结束,最有效的解决方案非常接近这个答案的内容:

代码语言:javascript
复制
# create archives
$ tar cz my_large_file_1 my_large_file_2 | split -b 1024MiB - myfiles_split.tgz_
# uncompress
$ cat myfiles_split.tgz_* | tar xz

此解决方案避免了在(解)压缩时使用中间大文件的需要。使用tar -C选项对生成的文件使用不同的目录。顺便说一句,如果归档文件只包含一个文件,则可以避免tar,只使用gzip:

代码语言:javascript
复制
# create archives
$ gzip -c my_large_file | split -b 1024MiB - myfile_split.gz_
# uncompress
$ cat myfile_split.gz_* | gunzip -c > my_large_file

对于windows,您可以下载相同命令的移植版本或使用cygwin。

票数 263
EN

Stack Overflow用户

发布于 2009-07-13 15:21:31

如果您正在从Linux拆分,您仍然可以在Windows中重新组装。

代码语言:javascript
复制
copy /b file1 + file2 + file3 + file4 filetogether
票数 28
EN

Stack Overflow用户

发布于 2009-07-13 15:25:59

使用tar to split into multiple archives

有很多程序可以在windows上处理tar文件,包括cygwin。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1120095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档