2017-08-06 60 views
2

我真的不明白为什么模式test**/*.ext匹配test23/file.ext,但不匹配test23/test/file.exttest23/test/test/file.ext。 Globstar应该匹配所有这些,不是吗?bash globstar匹配后文本

+0

我建议使用'test */**/*。ext'。 – Cyrus

+0

是的,它正在工作,但我找不到,测试**/*。ext'工作原理 – Anonym

+0

StackOverflow是关于帮助人们修复他们的编程代码。这更像是一个cmd行工具使用问题。 http://superuser.com将是一个更合适的论坛。请阅读http://stackoverflow.com/help/how-to-ask,http://stackoverflow.com/help/dont-ask,http://stackoverflow.com/help/mcve并参加[tour]( http://stackoverflow.com/tour)在发布更多Q​​之前。祝你好运。 – shellter

回答

4

这里的man bash

当globstar壳选项被启用,并且*是在路径扩展上下文中使用的,两个相邻* S使用作为一个单一的图案将匹配的所有文件和零个或多个目录和子目录。如果后面跟着一个/,两个相邻的*只会匹配目录和子目录。

由于您的**不是一种模式,而是test**的一部分,所以它没有得到globstar的处理。