regex - OS X 在带有正则表达式数字的 bash 中查找\d 未产生预期结果

标签 regex macos bash terminal find

我在 OS X 终端中使用以下正则表达式查找命令来查找具有 8 位文件名后跟 .jpg、.gif、.png 或 .eps 扩展名的全部文件。即使我告诉 OS X/BSD find 使用现代正则表达式,以下命令也不会产生任何结果

find -E ./ -iregex '\d{8}'

使用 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].*'

但这似乎有点啰嗦。

最佳答案

这些命令适用于 OSX

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

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


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

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


.*/ 

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

关于regex - OS X 在带有正则表达式数字的 bash 中查找\d 未产生预期结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9843828/

相关文章:

node.js - 无法在 Mac 上安装 angular-cli

macos - 在您的路径中添加 ~/bin 目录

python - 如何获取正则表达式来捕获 "x dollar(s) and x cents"?

python - 从文本文件中删除不可打印的 "gremlin"字符

javascript - 解析 AT 命令的正则表达式

python - CamelCase 到间隔句子大小写正则表达式

c++ - g++ -I和-L命令查找.hpp文件不起作用

macos - 检查基本的、未加密的 UDIF DMG 文件的内容

linux - 遍历数组,使用内容作为文件输出

bash - 获取特定字符串