我可以列出所有的目录

find ./ -type d

我试图列出每个目录的内容,并使用以下命令计算每个目录中的文件数

find ./ -type d | xargs ls -l | wc -l

但这是返回的行总数的总和

find ./ -type d | xargs ls -l

有没有办法计算每个目录中的文件数?

推荐答案

假设您有GNU find,让它查找目录,然后让bash完成其余工作:

find . -type d -print0 | while read -d '' -r dir; do
    files=("$dir"/*)
    printf "%5d files in directory %s\n" "${#files[@]}" "$dir"
done

Linux相关问答推荐

如何注释掉SLURM中的延迟调度命令?

Shell 脚本程序 - 从日志(log)文件中过滤磁盘空间利用率超过 80% 的行

在 Linux 中屏蔽文件中的位 - 按位运算

使用文件名重新打开 linux 管道(仅从一侧)

使用ansible配置Linux VM使用vmware_vm_shell模块时变成su?

用于替换 struct 文档中文本的 Bash 脚本

如何更改文件的上次访问/修改/更改日期?

使用 sed linux 命令和 i sed 命令进行 preprend 时的反向引用

在三星 chromebook 上编程

如何在 Ubuntu 上安装 chkconfig?

安装 mod_ssl 亚马逊 Linux

如何测试是否存在两个文件?

Ubuntu 上 Java 应用程序中的丑陋字体

你如何在 C 中的 Linux 上进行非阻塞控制台 I/O?

将 $_GET 参数传递给 cron 作业(job)

为什么可执行文件操作系统依赖于?

Mac OS X 中的 ldconfig 等效项?

从 FTP 服务器下载所有文件

卸载从源代码构建的python?

如何停止 Linux 上的不间断进程?