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

问题描述 投票:0回答:1

我这样做:

tar -C app/dir/ --strip-components=2 -xvf downloads/file.tar.gz

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

--wildcards "*/abc"$( find -name "abc")

我已经阅读了一些答案,但没有一个可接受的解决方案有效

linux pattern-matching tar
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.