go - 如何覆盖压缩包中的文件

标签 go tar

我有一个极端情况,其中两个文件具有相同的名称但内容不同并且被写入相同的 tarball。这导致 tarball 中有两个条目。我想知道如果 tar 文件已经存在于 tarball 中,我是否可以做任何事情来使 tar 覆盖该文件,而不是创建另一个具有相同名称的文件。

最佳答案

不可能,因为当您要求写入第二个文件时,第一个文件已经写入并且流已经推进了位置。请记住,tar 文件是按顺序访问的。

你应该在开始写入之前进行重复数据删除。

关于go - 如何覆盖压缩包中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42682882/

相关文章:

json - 如何使用 Golang func json.Unmarshal 解码这个复杂的 Json 数据?

performance - 神一次效率测量型

postgresql - 如何将元素添加到 Postgres 中的 json 字段数组

linux - 如何抑制 tar 归档文件中的目录名称?

linux - tar/gzip 不包括某些文件

通过使用值的 slice 作为带有 switch 语句的 case 来匹配一个值

linux - tar 存档包含的文件少于 find 命令的结果

linux - 关于 tar header

python - 使用 Python 子进程执行 tar 命令在给定 --exclude 选项时不会排除某些文件

MYSQL并发选择和更新