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

时间:2015-04-20 16:51:46

标签: bash unix scripting grep ls

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

ls -lR | grep ^d | wc -l

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

1 个答案:

答案 0 :(得分:4)

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

find . -type d -or -type f -printf '.' | wc -c

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