我这样做:
tar -C app/dir/ --strip-components=2 -xvf downloads/file.tar.gz
我想只提取名称层次结构中任何位置的文件和文件夹让我们说“abc”(如果文件那么它没有扩展名,因此只有“abc”)。我试过这样做:
--wildcards "*/abc"
或$( find -name "abc")
我已经阅读了一些答案,但没有一个可接受的解决方案有效
如果要匹配层次结构中的任何位置,请尝试包含--wildcards-match-slash
$ tar -tf tmp.tar
tmp/
tmp/a/
tmp/a/b/
tmp/a/b/abc
tmp/a/c/
tmp/a/c/d/
tmp/a/c/d/abc
tmp/a/abc
$ tar --wildcards-match-slash --wildcards '*/abc' -xvf tmp.tar
tmp/a/b/abc
tmp/a/c/d/abc
tmp/a/abc