如何在目录内递归查找文件(而不是目录)的数量,不包括 glob 模式?

如何在目录内递归查找文件(而不是目录)的数量,不包括 glob 模式?

我使用了一些近似:tree html | wc -l但现在我需要从找到的文件列表中排除全局模式。

全局模式将是这样的:(node_modules|.git|wp-snapshots).

谢谢。

答案1

我会用find这个:

find . \( -name .git -o -name node_modules -o -name wp-snapshots \) -prune -o -type f -print | wc -l

这会查找从当前目录开始的所有文件(包括目录),并按如下方式处理它们:

  • 如果名称匹配.gitnode_moduleswp-snapshots,则忽略从匹配条目开始的树
  • 对于其他任何内容,都会打印常规文件

然后输出被馈送到wc -l

相关内容