如何递归地计数Linux目录中的文件?
我发现了这个:
find DIR_NAME -type f ¦ wc -l
但是当我运行它时,它返回以下错误。
查找:路径必须在表达式之前:
如何递归地计数Linux目录中的文件?
我发现了这个:
find DIR_NAME -type f ¦ wc -l
但是当我运行它时,它返回以下错误。
查找:路径必须在表达式之前:
当前回答
tree $DIR_PATH | tail -1
样例输出:
5309个目录,2122个文件
其他回答
ls -l | grep -e -x -e -dr | wc -l
长串 过滤文件和dirs 计算过滤后的行号
我们可以使用树命令来递归地显示所有的文件和文件夹。以及它显示在最后一行输出的文件夹和文件的计数。
$ tree path/to/folder/
path/to/folder/
├── a-first.html
├── b-second.html
├── subfolder
│ ├── readme.html
│ ├── code.cpp
│ └── code.h
└── z-last-file.html
1 directories, 6 files
对于树命令的最后一行输出,我们可以在它的输出上使用tail命令
$ tree path/to/folder/ | tail -1
1 directories, 6 files
为了安装树,我们可以使用下面的命令
$ sudo apt-get install tree
找到-type f | wc -l
OR(如果目录是当前目录)
找到。-type f | wc -l
如果你需要递归计算特定的文件类型,你可以这样做:
find YOUR_PATH -name '*.html' -type f | wc -l
-l只是显示输出中的行数。
如果需要排除某些文件夹,请使用-not -path
find . -not -path './node_modules/*' -name '*.js' -type f | wc -l
你可以使用
$ tree
安装后的树包用
$ sudo apt-get install tree
(在Debian / Mint / Ubuntu Linux机器上)。
该命令不仅显示文件的计数,还分别显示目录的计数。选项-L可用于指定最大显示级别(默认情况下,它是目录树的最大深度)。
通过提供-a选项,也可以包含隐藏文件。