【发布时间】:2015-06-27 12:40:49
【问题描述】:
我正在尝试获取 Unix 目录中所有子目录中子目录和所有文件的总数。我试过这个:
ls -lR | grep ^d | wc -l
但这只是给了我总子目录,而不是总文件。我将如何修改它,或者有没有办法从一个命令中找出两个数字?还是我应该把它分成两部分?
【问题讨论】:
标签: bash unix scripting grep ls
我正在尝试获取 Unix 目录中所有子目录中子目录和所有文件的总数。我试过这个:
ls -lR | grep ^d | wc -l
但这只是给了我总子目录,而不是总文件。我将如何修改它,或者有没有办法从一个命令中找出两个数字?还是我应该把它分成两部分?
【问题讨论】:
标签: bash unix scripting grep ls
因为文件可能包含换行符或空格等,最好的方法是使用find,但不要让它打印文件名,而是为找到的每个文件打印. 或类似名称。该解决方案看起来像
find . -type d -or -type f -printf '.' | wc -c
将从当前目录开始搜索任何-type d 或-type f,它们是目录或文件。对于每个它将打印.,然后我们计算打印的字符数。
【讨论】: