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

如何使用正则表达式配合ls命令精准匹配目标目录列表内容

精准匹配指定目录的ls命令写法

你之前用的ls /etc/[d,p]*/keys属于shell通配符(glob)匹配,它会匹配所有以d、p甚至逗号开头的目录,确实存在误匹配风险。要精准指定dovecot和postfix这两个完整目录名,应该用shell的括号扩展(brace expansion),而不是正则表达式(shell里的正则用法和这个场景不匹配)。

正确的命令是:

ls /etc/{dovecot,postfix}/keys

这个命令会被shell自动展开为:

ls /etc/dovecot/keys /etc/postfix/keys

完全精准匹配你要的两个目录,不会被其他以d/p开头的目录干扰。

补充说明

  • shell的[]是字符集匹配,比如[dp]只匹配单个字符d或p,后面加*就会匹配所有以这两个字符开头的目录,和你要的完整目录名匹配需求不符。
  • 你提到的[postfix|dovecot]是正则表达式的语法,但shell的普通命令行里不直接用这种正则来匹配路径,括号扩展才是shell中批量指定多个完整字符串的标准方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:01:21