如何递归地计数Linux目录中的文件?
我发现了这个:
find DIR_NAME -type f ¦ wc -l
但是当我运行它时,它返回以下错误。
查找:路径必须在表达式之前:
如何递归地计数Linux目录中的文件?
我发现了这个:
find DIR_NAME -type f ¦ wc -l
但是当我运行它时,它返回以下错误。
查找:路径必须在表达式之前:
当前回答
找到-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
找到-type f | wc -l
OR(如果目录是当前目录)
找到。-type f | wc -l
ls -l | grep -e -x -e -dr | wc -l
长串 过滤文件和dirs 计算过滤后的行号
如果您想知道当前工作目录中存在多少文件和子目录,可以使用这一行程序
find . -maxdepth 1 -type d -print0 | xargs -0 -I {} sh -c 'echo -e $(find {} | wc -l) {}' | sort -n
这将在GNU风格下工作,对于BSD linux(例如OSX),只需在echo命令中省略-e即可。
你可以使用
$ tree
安装后的树包用
$ sudo apt-get install tree
(在Debian / Mint / Ubuntu Linux机器上)。
该命令不仅显示文件的计数,还分别显示目录的计数。选项-L可用于指定最大显示级别(默认情况下,它是目录树的最大深度)。
通过提供-a选项,也可以包含隐藏文件。