OS X使用正则表达式数字在bash中查找\ d不会产生预期结果

jul*_*ert 9 regex macos bash terminal find

我在OS X终端中使用以下regex find命令来查找整个加载的文件,这些文件具有8位数的文件名,后跟.jpg,.gif,.png或.eps扩展名.即使我告诉OS X/BSD发现使用现代正则表达式,下面也没有结果

find -E ./ -iregex '\d{8}'
Run Code Online (Sandbox Code Playgroud)

使用http://rubular.com/(http://rubular.com/r/YMz3J8Qlgh)显示正则表达式模式产生预期结果,OS X在输入时产生结果

find . -iname '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].*'
Run Code Online (Sandbox Code Playgroud)

但这似乎有点长啰嗦.

jac*_*300 10

这些命令适用于OSX

find -E . -iregex '.*/[0-9]{8}\.(jpg|png|eps|gif)'
Run Code Online (Sandbox Code Playgroud)

此命令匹配12345678.jpg,而不是123456789.jpg


find -E . -iregex '.*/[0-9]{8,}\.(jpg|png|eps|gif)'
Run Code Online (Sandbox Code Playgroud)

此命令匹配12345678.jpg和123456789.jpg


.*/ 
Run Code Online (Sandbox Code Playgroud)

等于文件夹路径或子文件路径