【问题标题】:Difference between dir/**/* and dir/*/* in Unix glob pattern?Unix glob 模式中 dir/**/* 和 dir/*/* 之间的区别?
【发布时间】:2013-05-20 21:06:59
【问题描述】:

看来我echoed时的输出是一样的。

我还测试了open等其他命令,但两者的结果是一样的。

【问题讨论】:

  • @perreal 不正确,请参阅发布的答案。

标签: unix glob


【解决方案1】:

在传统的sh 样式匹配中,* 匹配文件名组件中的零个或多个字符,因此****** 之间没有区别,无论是在它自己的或作为更大模式的一部分。

但是,有一些通配语法为** 赋予了不同的含义。例如,Z shell 实现的模式匹配将x/**/y 扩展到所有以x/ 开头并以/y 结尾的文件名,而不管它们之间有多少个目录,从而匹配所有x/yx/subdir/y , x/subdir1/subdir2/y 等。此语法后来被 implemented by bash 所使用,但仅在用户设置了 globstar 配置选项时才启用。

【讨论】:

  • 谢谢!我也没有激活 globstar,所以这同时解决了两个问题。
猜你喜欢
  • 2015-01-05
  • 2016-07-31
  • 1970-01-01
  • 2016-09-21
  • 1970-01-01
  • 1970-01-01
  • 2010-11-02
  • 2020-02-18
  • 1970-01-01
相关资源
最近更新 更多