使用 OSX 终端命令计算目录中的文件数量

问题描述 投票:0回答:6

我正在寻找返回数字的特定目录文件计数。我将其输入终端,它可以给我指定目录的文件计数。

我已经尝试过 echo

find "'directory' | wc -l"
但没用,有什么想法吗?

linux macos shell
6个回答
74
投票

你的想法似乎是正确的。我会使用

-type f
来仅查找文件:

$ find some_directory -type f | wc -l

如果您只想要直接在此目录下的文件而不是通过子目录递归搜索,您可以添加

-maxdepth
标志:

$ find some_directory -maxdepth 1 -type f | wc -l

30
投票

打开终端并切换到目录所在位置。

输入:

find . -type f | wc -l

这会在当前目录(即 . 代表的目录)内搜索所有文件,并对它们进行计数。


5
投票

我不明白为什么人们使用“find”,因为对我来说,像这样输入“ls”要容易得多:

ls *.png |厕所-l

查找当前目录中png图像的数量。


4
投票

获取目录中文件数量的最快方法是获取该目录的

kMDItemFSNodeCount
元数据属性的值。

mdls -name kMDItemFSNodeCount directory_name -raw|xargs

find . -type f | wc -l 相比,上述命令具有

 主要优势
,因为它几乎立即返回计数,即使对于包含数百万个文件的目录也是如此。

请注意,该命令获取的是文件的数量,而不仅仅是常规文件


0
投票

实际上tree命令是find命令的一个很好的替代品。

  1. 安装树

brew 安装树

  1. 运行命令

     tree -R -L 99
    

    tree -R -L 99

    where -R 选项在文件夹中递归运行 -L 指定目录树的级别 -a 所有文件都隐藏

  2. 向上滚动可查看哪些文件已被统计。


-1
投票

我正在使用树,方法如下: 树的酸碱度

© www.soinside.com 2019 - 2024. All rights reserved.