![更改 tar.gz 文件中的根文件夹名称](https://linux22.com/image/1423190/%E6%9B%B4%E6%94%B9%20tar.gz%20%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E6%A0%B9%E6%96%87%E4%BB%B6%E5%A4%B9%E5%90%8D%E7%A7%B0.png)
我有一个 tar.gz 文件,具体来说:http://download.oracle.com/otn-pub/java/jdk/8u20-b26/jdk-8u20-linux-x64.tar.gz我将下载这个,修改它,然后把它粘贴到我自己的存储库中。
我希望更改解压的根目录的名称,而无需实际解压、更改,然后使用单独的命令再次手动压缩。这样以后解压它的任何人都会使用我指定的文件夹名称。
我知道我可以使用该--transform
选项,但那是不是我想要的是,我不希望我的用户必须指定这个选项。
这可能吗?
如果没有,是否有一个单行程序可以进行提取,更改和压缩,而不会改变权限或结构等...
答案1
这是您的一行程序,以 ROOT 身份运行或使用以sudo
保留权限等。
gunzip -c jdk-8u20-linux-x64.tar.gz | tar --transform=EXPRESSION xf - ; tar cf fixed.tar DIRNAME ; gzip fixed.tar
抱歉,我无法帮助您确定您想要的 EXPRESSION/DIRNAME 是什么,因为问题中的信息不够,无法为您提供帮助。