如何递归地计数Linux目录中的文件?
我发现了这个:
find DIR_NAME -type f ¦ wc -l
但是当我运行它时,它返回以下错误。
查找:路径必须在表达式之前:
如何递归地计数Linux目录中的文件?
我发现了这个:
find DIR_NAME -type f ¦ wc -l
但是当我运行它时,它返回以下错误。
查找:路径必须在表达式之前:
当前回答
如果您想知道当前工作目录中存在多少文件和子目录,可以使用这一行程序
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选项,也可以包含隐藏文件。
如果您想知道当前工作目录中存在多少文件和子目录,可以使用这一行程序
find . -maxdepth 1 -type d -print0 | xargs -0 -I {} sh -c 'echo -e $(find {} | wc -l) {}' | sort -n
这将在GNU风格下工作,对于BSD linux(例如OSX),只需在echo命令中省略-e即可。
如果你想知道当前目录下每个目录下有多少文件:
for i in */ .*/ ; do
echo -n $i": " ;
(find "$i" -type f | wc -l) ;
done
当然,这些都可以写在一行上。括号说明wc -l应该监视谁的输出(在本例中查找$i -type f)。
ls -l | grep -e -x -e -dr | wc -l
长串 过滤文件和dirs 计算过滤后的行号
这里有很多正确答案。这是另一个!
find . -type f | sort | uniq -w 10 -c
在哪里。是要查找的文件夹,10是对目录进行分组的字符数。