OSX Terminal find regex for jpg JPG和jpeg

vsaztqbk  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(107)
find ./ -name '*.JPG' -type f | wc -l

得到1231

find ./ -name '*.jpg' -type f | wc -l

给出1377
我如何做一个正则表达式来找到所有的JPG?
我试过了

find ./ -type f -regex ".*\.[JPGjpg]$" | wc -l

但没有类似的作品

uurv41yg

uurv41yg1#

你的正则表达式被冲掉了。但是通过使用不同的选项,它可以被简化为不那么复杂/令人生畏。

find . -E -type f -iregex '.*\.jpe?g'

方括号创建一个字符类--[JPG|jpg]匹配一个字符,它是大写或小写的J、P、G或竖线(是的,方括号之间的所有内容都是按字面意思理解的)中的一个。使用圆括号进行分组;尽管这足够简单而不需要任何分组。还要注意使用-iregex来进行不区分大小写的正则表达式匹配。
如评论中所述,例如在MacOS / BSD中,-E选项对于启用?等ERE结构将表达式标记为可选是必要的。

相关问题