当前位置:TranBon博客 > 首页 > 技术 > Centos7计算目录(包括它们所有的子目录)中总体的文件数量和目录数量

Centos7计算目录(包括它们所有的子目录)中总体的文件数量和目录数量

adminis6个月前 (12-15)技术94640

  • Centos7计算包括 /www/wwwroot/EXE 和 /www/wwwroot/H5
  • ①这两个目录(包括它们所有的子目录)中总体的文件数量和目录数量
  • ②本身在内的每个目录(以及它们的子目录)中的文件和目录数量,并且分别显示每个目录(包括顶级目录)的统计结果,
  • ③先文件、目录、路径这样显示排版要整齐,数字要右对齐,中文显示


为了满足您的需求,以下是一个适用于 CentOS 7 的 Bash 脚本。该脚本将计算包括 /www/wwwroot/EXE 和 /www/wwwroot/H5 这两个目录(及其所有子目录)在内的文件和目录数量,并按照您要求的格式显示结果。

  • #!/bin/bash
  • # 定义要检查的顶级目录数组
  • TOP_DIRS=("/www/wwwroot/EXE" "/www/wwwroot/H5")
  • # 初始化总体计数
  • TOTAL_FILES=0
  • TOTAL_DIRS=0
  • # 定义一个函数来计算并显示指定目录的统计结果
  • count_files_and_dirs() {
  •     local dir=$1
  •     local files=$(find "$dir" -type f | wc -l)
  •     local dirs=$(find "$dir" -type d | wc -l)
  •     # 减去当前目录(.),因为它不是一个子目录
  •     dirs=$((dirs - 1))
  •     # 使用 printf 格式化输出,确保数字右对齐,路径左对齐
  •     printf "%10d %10d    %-50s\n" "$files" "$dirs" "$dir"
  • }
  • # 遍历每个顶级目录及其子目录
  • for top_dir in "${TOP_DIRS[@]}"do
  •     echo "处理顶级目录: $top_dir"
  •     echo "    文件数    目录数    路径"
  •     echo "------------------------------------------------"
  •     # 显示顶级目录的统计结果
  •     count_files_and_dirs "$top_dir"
  •     # 累加顶级目录的文件和目录数量到总体计数
  •     TOTAL_FILES=$((TOTAL_FILES + $(find "$top_dir" -type f | wc -l)))
  •     TOTAL_DIRS=$((TOTAL_DIRS + $(find "$top_dir" -type d | wc -l)))
  •     # 遍历并显示每个子目录的统计结果
  •     find "$top_dir" -mindepth 1 -type d | while read subdir; do
  •         count_files_and_dirs "$subdir"
  •     done
  •     echo ""  # 添加空行以分隔不同顶级目录的输出
  • done
  • # 注意:上面的累加方法会重复计算顶级目录,所以需要减去多算的部分
  • # 顶级目录的数量只应该计算一次,因此我们从总数中减去每个顶级目录的重复计数
  • for top_dir in "${TOP_DIRS[@]}"do
  •     TOTAL_DIRS=$((TOTAL_DIRS - 1))
  • done
  • # 显示总体的统计结果
  • echo "总体统计结果:"
  • echo "    文件数    目录数"
  • echo "---------------------"
  • printf "%10d %10d\n" "$TOTAL_FILES" "$TOTAL_DIRS"


将上述脚本保存为一个 .sh 文件(例如 count_files_dirs.sh),然后给予执行权限并运行:

  • chmod +x count_files_dirs.sh
  • ./count_files_dirs.sh

脚本说明:

  • 定义了 TOP_DIRS 数组来存储要检查的顶级目录路径。

  • 使用 count_files_and_dirs 函数来计算并显示每个目录(包括子目录)的文件和目录数量,同时确保输出格式正确。

  • 在 for 循环中遍历每个顶级目录,调用 count_files_and_dirs 函数显示统计结果,并累加文件和目录数量到总体计数中。

  • 注意,在计算子目录数量时,我们减去了顶级目录本身,因为顶级目录会在总体计数中单独计算。

  • 最后显示总体的文件和目录数量。

这个脚本会按照您要求的格式输出每个目录(包括顶级目录和子目录)的统计结果,数字右对齐,路径左对齐,并且先显示文件数,再显示目录数,最后是路径。







第10条随机版权
文章免责声明
  • 尊敬的读者:
  • 本文所提供的信息、观点及数据均来源于公开资料、相关研究报告及个人理解,仅供读者参考。本文不代表任何官方立场或专业机构的意见,亦不构成任何投资建议或决策依据。
  • 在撰写本文时,我们已尽力确保信息的准确性和完整性,但鉴于信息来源的多样性及可能存在的误差,我们无法保证本文所述内容在任何时刻都绝对准确无误。因此,读者在阅读本文时,应结合自身实际情况及专业知识,进行独立分析和判断。
  • 对于因本文信息不准确、不完整或读者自身理解偏差而导致的任何损失或损害,我们概不负责。同时,我们也不承担因本文所述内容引发的任何法律责任或纠纷。
  • 此外,本文可能包含对特定公司、行业或市场的分析和预测,这些分析和预测均基于当前市场环境及可获得的信息,并可能受到多种因素的影响而发生变化。因此,读者在参考本文时,应充分考虑这些潜在的风险和不确定性。
  • 我们鼓励读者在阅读本文后,进一步查阅相关资料和咨询专业人士,以获取更全面、准确的信息和建议。同时,我们也欢迎读者就本文内容提出宝贵的意见和建议,以便我们不断改进和提升文章质量。
  • 最后,感谢读者对本文的关注和阅读。我们希望通过提供有价值的信息和观点,为读者在相关领域的学习和决策提供一定的帮助和参考。但请务必记住,本文所述内容仅供参考,不构成任何具体建议或承诺。
  • 特此声明。
阅读剩余的49%

扫描二维码推送至手机访问。

版权声明:本文由TranBon博客发布,如需转载请注明出处。

本文链接:https://hpdemo.33ol.com/?id=339

“Centos7计算目录(包括它们所有的子目录)中总体的文件数量和目录数量” 的相关文章

centos固定网卡、网卡名会变、网卡名错乱,解决方法

centos固定网卡、网卡名会变、网卡名错乱,解决方法

cd /etc/udev/rules.d/ vi /etc/udev/rules.d/70-persistent-net.rules echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\&...

iis7 asp网站 500 - 内部服务器错误。

iis7 asp网站 500 - 内部服务器错误。

其它配置正常的情况下解决方法: 处理完成了!...

Proxmox VE 子机被锁定、进行解锁

Proxmox VE 子机被锁定、进行解锁

Proxmox VE 子机被锁定如:备份、迁移 失败后,被锁定的解决方法如下:如:子机ID为:166 开机、重启、关机、重置、回滚快照 提示:VM is locked (backup) (500)可以通过 Proxmox VE 网页里的-》数据中心-》对应的节点-》Shell或者通过ssh登录后输入...

发表评论

访客

私密评论
加载验证码中...

◎欢迎参与讨论,请在这里发表您的看法和观点。
简体中文繁體中文English한국어日本語DeutschрусскийبالعربيةTÜRKÇEportuguêsคนไทยFrançais