【发布时间】:2020-12-30 19:42:34
【问题描述】:
我试图使用命令find Documents -name "*.{py,html}" 获取目录中所有 python 和 html 文件的列表。
然后是手册页:
模式 ('{}') 中的大括号不被认为是特殊的(即 find .-name 'foo{1,2}' 匹配名为 foo{1,2} 的文件,而不是文件 foo1和 foo2。
由于这是管道链的一部分,我希望能够指定它在运行时匹配哪些扩展(无硬编码)。如果 find 做不到,那么 perl 单行(或类似的)就可以了。
编辑:我最终想出的答案包括各种废话,而且也有点长,所以我将它作为an answer 发布到我试图从头开始的痒处。如果您有更好的解决方案,请随意破解。
【问题讨论】:
-
locate也是一个经常被忽视和未充分利用的实用程序,但需要注意的是内部更新的 b 可能不是最新的。但它很快。 -
我投票结束这个问题,因为它属于 Unix&Linux