0

正在做:

print -l ./somedir/**/*.{png,jpg}给出了pngjpg文件的预期列表,并且存在两种类型,但是

print -l ./somedir/**/*.{png,jpg}(Lk+50)没有列出我jpg的大于 50k 的文件,说no matches found ./somedir/**/*.png(Lk+50).

为什么它停在png这里,而不是继续扩展jpg

4

1 回答 1

0

根据文档,说:

请注意,大括号扩展不是文件名生成(通配符)的一部分;在生成文件名之前,将 */{foo,bar} 等表达式拆分为两个单独的单词 */foo 和 */bar。特别要注意,如果两个表达式中的任何一个不匹配,这很容易产生“不匹配”错误;这与 */(foo|bar) 形成对比,后者被视为单个模式,但在其他方面具有相似的效果。

我得出的结论是,我必须写:

print -l ./somedir/**/*.(png|jpg)(Lk+50), 以获得想要的结果。

于 2015-05-09T23:13:48.647 回答