我正在尝试计算Unix中目录中所有子目录中的子目录和所有文件的总数。我试过这个:
ls -lR | grep ^d | wc -l
但这只是给了我总子目录,而不是总文件。我如何修改这个或有没有办法从一个命令中找出这两个数字?或者我应该把它分成两部分?
答案 0 :(得分:4)
因为文件可能包含换行符或空格等,所以最好的方法是使用find
,但不是打印文件的名称,而是为每个文件打印.
或类似文件找到。该解决方案看起来像
find . -type d -or -type f -printf '.' | wc -c
将从当前目录开始搜索任何-type d
或-type f
目录或文件。对于每一个,它将打印.
,然后我们计算打印的字符数。