linux - 递归计算Linux目录中的文件

标签 linux bash

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

我发现了这个:

find DIR_NAME -type f ¦ wc -l

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

find: paths must precede expression: ¦

最佳答案

这应该可行:

find DIR_NAME -type f | wc -l

说明:

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

注意事项:

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

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

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

关于linux - 递归计算Linux目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9157138/

相关文章:

linux - 如何在代码中获取与WiFi的准确距离?

linux - 是否可以在 Linux 中可靠地嵌套 find -exec 命令?

bash - 从文件的行回显

json - xargs:如何替换文字双引号?

bash - $BASH_VERSION 在 macOS 上报告旧版本的 bash,这是一个应该修复的问题吗?

c - 构建执行作为参数传递的程序的简单 shell 脚本

C++ boost : is it included by default in most Linux distros?

正则表达式 [[ :digit:]] showing a row with a letter between digits

c - 执行/调用用户空间程序,并从内核模块获取其 pid

linux - ZIP 命令导致 BASH 脚本 zip 警告 : name not matched