有没有办法将 tar 文件中的单个文件提取到特定目录?事实上,我正在处理一个.tgz
文件,因此,我尝试做这样的事情:
gunzip -c mytargzfile.tgz | tar xvf - path/to/myfile -C /tmp
为了提取文件条目,调用path/to/myfile
目录。mytargzfile.tgz
/tmp
但是这个命令失败了,因为 tar 抱怨说它在存档中找不到名为的文件-C
。我之前尝试过切换选项,但也没有帮助。/tmp
-C
xvf
请注意,我使用的是 AIX 和 KSH
答案1
我认为 tar 的 C 选项应该在命令中更早出现
tar -cvf - -C /tmp path/to.myfile
我想你可以下载、编译并安装 GNU tar 到你的 ~/bin 中,可能让事情变得更容易一些。
答案2
正如您所说,该命令对我来说效果很好,您尝试了-C
第一个命令: tar -C /tmp -xvf
。也许是您的 tar 版本存在错误?
有点笨重,但总是有:
cd /tmp
gunzip -c /path/to/mytargzfile.tgz | tar xvf - path/to/myfile
我建议你安装 GNU tar。它值得安装,即使没有别的,也只是为了-j
和-z
选项,而且这是我在新的 Unix 帐户中总是做的第一件事之一。