【发布时间】:2013-12-20 12:55:51
【问题描述】:
所以我在 tmp 目录中有以下文件:
file.0
file.1
file.t9
file.22
file.4444
如果我只想列出以 '.digits' (0, 1, 22, 4444) 而不是 (t9) 结尾的文件,我可以尝试使用如下通配符:
ls tmp/file.{[0-9],[0-9][0-9],[0-9][0-9][0-9],[0-9][0-9][0-9][0-9]}
但是我得到以下结果并带有丑陋的错误
ls: cannot access tmp/file.[0-9][0-9][0-9][0-9]: No such file or directory
file.0
file.1
file.22
file.4444
我也尝试过使用 {0..999},但这也会导致相同类型的错误(以及更多错误)。 任何关于如何在没有专家错误的情况下做到这一点的线索?
【问题讨论】:
-
大括号扩展不同于模式匹配。它生成一个显式参数列表,而不是一个匹配任何可能存在的模式。