递归计算Linux目录中的文件

新手上路,请多包涵

如何递归计算 Linux 目录中的文件?

我找到了这个:

 find DIR_NAME -type f ¦ wc -l

但是当我运行它时,它会返回以下错误。

查找:路径必须在表达式之前:¦

原文由 Robert Buckley 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 629
2 个回答

这应该有效:

 find DIR_NAME -type f | wc -l

解释:

  • -type f 仅包含文件。
  • |而不是 ¦ )重定向 find 命令的标准输出到 wc 标准命令。
  • wc (字数的缩写)计算其输入( 文档)中的换行符、单词和字节。
  • -l 只计算换行符。

笔记:

  • DIR_NAME 替换为 --- . 以在当前文件夹中执行命令。
  • 您还可以删除 -type f 以在计数中包含目录(和符号链接)。
  • 如果文件名可以包含换行符,则此命令可能会过度计数。

解释为什么您的示例不起作用:

在您显示的命令中,您不使用“管道”( | )来连接两个命令,但是外壳无法识别的断线( ¦ )作为命令或类似的东西。这就是您收到该错误消息的原因。

原文由 paulsm4 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于当前目录:

 find -type f | wc -l

原文由 Abhishek Maurya 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题