给定一个文件列表,我想找到所有以 或 结尾的文件.pem
。.cer
此命令用于查找 PEM。
find . -d 1 -regex ".*\.pem"
但是这个命令什么也没找到:
find . -d 1 -regex ".*\.(pem|cer)"
此语法在 BBedit 模式操场中有效。有没有办法将正则表达式组与 find 结合使用?
答案1
我甚至不会为此使用正则表达式,而是使用:
find . -name "*.pem" -o -name '*.cer'
它甚至可能更快(尽管我们在这里谈论的是秒的几分之一),因为解析正则表达式在 CPU 时间上更昂贵。
编辑:
现在我看到了 Hannu 的评论,我注意到(根据您最初尝试的命令)您可能不想检查子目录。如果是这种情况,则变为:
find . -maxdepth 1 -name "*.pem" -o -name '*.cer'
答案2
此命令未找到任何内容:
find . -d 1 -regex ".*\.(pem|cer)"
您需要使用'
而不是"
和 转义(
和 ,)
如下所示:
find . -d 1 -regex '.*\.\(pem|cer\)'