composer list 不支持模糊匹配,需用 grep -iw 等工具筛选;推荐 alias 封装高频搜索如 cl-autoloader,并善用 --raw 提高解析可靠性。

composer list 命令本身不支持模糊匹配子命令
直接运行 composer list 会输出全部可用命令,但它是静态列表,没有内置搜索逻辑。想快速定位比如 “dump-autoload” 或 “require” 相关命令,靠肉眼扫效率低,尤其在 Composer 插件较多时(如 laravel/installer、phpstan/extension-installer)会混入大量第三方命令。
这时候必须借助 shell 工具链,grep 是最轻量、最通用的选择 —— 不依赖额外工具,所有 Linux/macOS/WSL 环境都自带。
用 grep 过滤时要注意大小写和空格边界
常见错误是直接写 composer list | grep require,结果可能匹配到 require-dev、global require 甚至注释里的单词。更糟的是某些命令名含大写字母(如 diagnose),而默认 grep 区分大小写。
- 加
-i参数忽略大小写:composer list | grep -i require - 用
-w确保匹配完整单词(避免子串误匹配):composer list | grep -iw dump会命中dump-autoload,但不会命中dump-env(如果存在) - 想精确匹配某行开头的命令名(排除描述文本),可用
^锚定:composer list | grep "^require"
组合多个 grep 或用 egrep 提高筛选精度
单个关键词有时不够 —— 比如搜 “自动加载” 相关命令,可能需要同时覆盖 dump-autoload 和 autoloader(某些插件提供)。这时可以链式过滤或用扩展正则:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 两层过滤(先取命令区,再筛关键词):
composer list --raw | grep -E "^(dump|install|update)"——--raw输出无格式纯文本,更易解析 - 匹配带连字符的命令:
composer list | grep -E "(dump|dump-autoload)",注意括号需转义或用egrep - 排除干扰项(如只看核心命令,去掉插件命令):
composer list | grep -v "^\s"可滤掉缩进的子命令(插件常把子命令缩进显示)
alias 封装常用搜索模式提升效率
反复敲长命令很烦,建议在 shell 配置里加 alias。不是所有场景都适合全局 alias,但针对 Composer 这种高频工具很值:
- 快速找 autoload 相关:
alias cl-autoloader='composer list | grep -iw "dump\|autoload"' - 查所有 install 开头的命令:
alias cl-install='composer list | grep "^install" - 注意:alias 中的单引号防止 shell 提前展开变量;如果用双引号,
$()或\要小心转义
实际执行时,cl-autoloader 比记全 composer list | grep -iw dump-autoload 快得多,也比翻文档或 composer help 更直接。
真正容易被忽略的是 --raw 输出格式 —— 它不带颜色、不带缩进、命令与描述严格用空格分隔,更适合后续用 awk 或 cut 提取字段。但日常搜索,grep -iw 已经覆盖 90% 场景,别过早引入复杂管道。










