计算所有子目录unix中的总目录和文件

Wil*_*ill 3 unix bash scripting grep ls

我正在尝试计算 Unix 目录中所有子目录中的子目录和所有文件总数。我试过这个:

ls -lR | grep ^d | wc -l
Run Code Online (Sandbox Code Playgroud)

但这只是给了我总的子目录,而不是总文件。我将如何修改它,或者有没有办法从一个命令中找出两个数字?还是我应该把它分成两部分?

Eri*_*ouf 6

因为文件可能包含换行符或空格等,最好的方法是使用find而不是打印文件名,而是.为找到的每个文件打印一个或类似的名称。该解决方案看起来像

find . -type d -or -type f -printf '.' | wc -c
Run Code Online (Sandbox Code Playgroud)

它将从当前目录开始搜索任何-type d-type f哪个目录或文件。对于每个它将打印.,然后我们计算打印的字符数。