我有一些用生成的uuid1字符串命名的图像。例如81397018-b84a-11e0-9d2a-001b77dc0bed.jpg。我想使用“find”命令找出所有这些图像:find . -regex "[a-f0-9\-]\{36\}\.jpg".但它不起作用。正则表达式出了什么问题?有人可以帮我吗?
3 回答
BIG阳
TA贡献1859条经验 获得超6个赞
该-regex发现表达式匹配的全名,包括从当前目录的相对路径。为此,find .始终以./任何目录开头。
此外,这些是emacs正则表达式,其具有除通常的egrep正则表达式之外的其他转义规则。
如果这些都直接在当前目录中,那么
find . -regex '\./[a-f0-9\-]\{36\}\.jpg'
应该管用。(我不太确定 - 我无法在这里得到重复的计数。)你可以通过-regextype posix-egrep以下方式切换到egrep表达式:
find . -regextype posix-egrep -regex '\./[a-f0-9\-]{36}\.jpg'
(请注意,这里所说的一切都是针对GNU查找的,我对BSD一无所知,这也是Mac上的默认设置。)
- 3 回答
- 0 关注
- 1133 浏览
添加回答
举报
0/150
提交
取消