在 zsh 中递归计算目录中与模式匹配的文件数量 2024-6-13 • zsh 如何递归计算某种类型的所有文件zsh? 有很多方法可以做到这一点(有用的超级用户问题,例如这个给出指点),但很少zsh有具体的方法。 接下来我之前的问题-zsh已经向我提供了几种具体的解决方案,因此我将在这里记录它们以防其他人也想这么做。 答案1 特定zsh功能是 zsh globbing;我不完全理解它,但它们有效。 $ a=( **/*.(cpp|h)(.) ); print $#a 将计算以当前目录结尾的所有文件.cpp并.h从当前目录递归计算,然后将结果打印为单个数字。 从这个答案,我还可以使用: $ ls **/*.{cpp,h} | wc -l 那么,具体zsh部分是扩展以匹配以和**/*.{cpp,h}结尾的文件。我还没有找到任何我能理解的(简单)zsh 通配符的综合内容(尽管.cpp.h这解释使用**/*.{a,b}相当好)。 答案2 要正确计算不匹配项:a=( */.(cpp|h)(.N) ); print $#a 为了避免泄漏变量:local -a a; a=( */.(cpp|h)(.N) ); print $#a 相关内容 具有时间轴结构的文档[关闭] 将 draw.io 中的图表导入 LaTeX SVN 无法以不同用户身份更新工作副本 ASRock C2550D4I,更新和重启之前正常,之后 IPMI 状态正常,但远程控制台和 VGA 为空白 Kickstart 虚拟控制台:Alt-F2 时无“Shell 提示符” 如何将节点或矩形放在节点内? Epson Stylus Sx445w 驱动程序 i3wm 中的焦点保留 使用 Java 8 Pipewire 噪音消除 kubuntu 23.04