You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化匹配'symbol'加0或1个's'的find命令

简化匹配symbol/symbols目录的find命令

原命令为:

find . -type d -name symbols -o -name symbol

该命令用于查找当前目录下名称为symbol或symbols的子目录,对应需求是匹配"symbol"后接0个或1个"s"的目录名称。

可以通过以下两种方式简化:

方法一:使用正则表达式匹配

借助find的-regex选项,结合正则表达式的s?语法(表示匹配0个或1个前置字符),将两个条件合并为一个:

find . -type d -regex '.*/symbol[s]?$'

这里的.*/用于匹配目录路径的前缀部分,symbol[s]?$确保路径末尾是symbol(0个s)或symbols(1个s)。

方法二:使用shell扩展通配符(需开启extglob)

如果你的shell支持扩展通配符(如bash),先开启extglob选项,再用?(s)表示匹配0个或1个s:

shopt -s extglob
find . -type d -name 'symbol?(s)'

这种方式更贴近原命令的通配符风格,不过需要注意extglob并非所有shell环境都默认启用。

内容的提问来源于stack exchange,提问作者lucky1928

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 11:50:45