如何递归计算 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/