我正在尝试下载一个 tar (有效)并立即将其解压到一个子目录(最好与存档名称相同)。我认为以下代码应该可以工作,但它尝试将写入解压文件写入 STDOUT 并失败。
\n\nwget -O - https://ufal.mff.cuni.cz/~zabokrtsky/courses/npfl104/data/classification/artificial_objects.tgz | tar -xvz --one-top-level\nRun Code Online (Sandbox Code Playgroud)\n\n结果(非常神秘的失败):
\n\n...\nSaving to: \xe2\x80\x98STDOUT\xe2\x80\x99\n...\nCannot write to \xe2\x80\x98-\xe2\x80\x99 (Success).\nRun Code Online (Sandbox Code Playgroud)\n\n不指定--one-top-level可以解决问题,但随后内部的文件将按预期提取到当前文件夹。
用两个单独的命令执行此操作:首先下载它,然后用中间文件解压,再次按预期进行。
\n\n...\nSaving to: \xe2\x80\x98STDOUT\xe2\x80\x99\n...\nCannot write to \xe2\x80\x98-\xe2\x80\x99 (Success).\nRun Code Online (Sandbox Code Playgroud)\n\n我知道我可以创建一个子文件夹并使用 -C 更改 tar 的输出目录,但我宁愿理解为什么我的方法不起作用。
\n\nTAR v2016
\n