小编Jef*_*all的帖子

在一个命令中连接多个 tar 文件

我每天都会收到 4 到 100 个非常大的 tar (~20GB) 存档文件。过去,我一直通过循环遍历我在文件系统上看到的每个档案并执行类似的操作来连接它们

/bin/tar -concatenate --file=allTars.tar receivedTar.tar
Run Code Online (Sandbox Code Playgroud)

然而,问题在于当我连接越来越多的 tar 文件时,它必须读到末尾allTars.tar才能再次开始连接。有时需要 20 多分钟才能开始添加另一个 tar 文件。它太慢了,我错过了商定的完整allTars.tar.

我还尝试将我的 tar 命令交给一个文件列表,如下所示:

/bin/tar --concatenate --file=alltars.tar receiverTar1.tar receivedTar2.tar receivedTar3.tar...etc
Run Code Online (Sandbox Code Playgroud)

这给出了非常奇怪的结果。 allTars.tar将是预期的大小(即接近所有receivedTar.tar文件的大小加在一起)但似乎在allTars.tar解压缩时覆盖文件。

有什么方法可以在一个命令中连接所有这些 tar 文件,或者它不必每次都读取到被连接的存档的末尾,让它们正确解压缩所有文件/数据?

linux unix command-line tar

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

command-line ×1

linux ×1

tar ×1

unix ×1