如何使用stdout / stdin将tar文件转换为zip?
- @从stdin获取文件列表,tar -t提供了但实际上并没有提取文件。使用-xv为我提供了一个文件列表并将其提取到磁盘,但我试图避免触摸磁盘。
之类的以下内容,但显然以下内容不会产生相同的文件结构。
tar -xf somefile.tar -O | zip somefile.zip -
我可以通过暂时将文件写入磁盘来实现,但我试图避免这种情况 - 我只想使用管道。
答案 0 :(得分:0)
基本上我不知道"标准"实用程序即时进行转换。
但是here使用python库讨论了类似的问题,它具有简单的结构,可能你可以根据你的要求调整脚本。
答案 1 :(得分:0)
我从未听说过执行直接转换的工具。作为一种解决方法,如果您的文件不是非常庞大,您可以将tar存档解压缩到tmpfs
挂载的目录(或类似的),即完全驻留在内存中但不能与磁盘一起工作的文件系统。它应该比提取到磁盘文件夹快得多。