Tar模式匹配层次结构中任何位置的文件/文件夹

时间:2018-03-02 17:51:28

标签: linux pattern-matching tar

我这样做:

--wildcards "*/abc"

我想只提取名称层次结构中任何位置的文件和文件夹,让我们说“abc”(如果文件那么它没有扩展名,因此只有“abc”)。 我试过这样做:

$( find -name "abc")forEach

我已经阅读了一些答案,并且没有一种可接受的解决方案有效。

1 个答案:

答案 0 :(得分:0)

如果您想要匹配层次结构中的任何位置,请尝试添加--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