#!/bin/bash

#Synopsis:用于统计脚本当前所在目录或者用户指定目录下的所有文件类型及数量

#若直接运行脚本而不接任何命令行参数,则默认会统计脚本所在目录下的文件

#Date:2016/10

#Author:Jian

#Usage:sh fileStat.sh /path1 /path2

testFile=$(mktemp /tmp/testfile.XXX)

#如果没有指定查询目录,则使用默认的当前脚本所在目录

if [ $# -eq 0 ]; then

path="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/"

else

path="$@"

fi

#在给出的所有目录中循环查询

for dir in $path

do

if [ ! -d $dir ]; then

#若给出错误路径则用红色字体打印出来

echo -e "\e[1;31m Error:wrong path [$dir] \e[0m"

continue

fi

#find命令递归查找指定目录下面所有文件及目录

find $dir -mindepth 1 -print | while read line

do

ftype="$(file -b $line)"

echo $ftype

done>$testFile

echo "==========Directory [$dir] File type and counts=========="

#使用awk关联数组统计文件类型所对应的数目

awk '

{ count[$0]++ }

END{

for(ftype in count)

{ printf ("%s: %d\n",ftype,count[ftype]) }

}' $testFile | sort

#删除创建的临时文件

rm -rf $testFile

done

转载于:https://blog.51cto.com/11829889/1872038

shell统计指定目录下所有文件类型及数量相关推荐

  1. Linux学习:读取目录内容 (目录名和类型)和递归统计指定目录下普通文件个数练习

    一.读取目录内容 #include <stdio.h> #include <unistd.h> #include <dirent.h> #include <s ...

  2. shell替换某个目录下某个文件类型里的内容

    [root@test baojing]# cat piliang.sh  #!/bin/bash find /root/baojing/ -name "*.sh" | while ...

  3. Shell脚本实现统计指定目录下的文件和目录数量

    编写一个shell脚本,根据其属性计算给定目录中文件和目录的数量. 要求: ▪调用脚本countdf.sh ▪运行脚本时,在命令行中使用目录的路径,例如 ./countdf.sh〜 /test01.这 ...

  4. php定时删除目录,shell定时删除指定目录下的文件

    contab -e 10 */12 * * * sh /usr/local/apache2/htdocs/cakephp/ebook/webroot/php/delete_big_log.sh 代码: ...

  5. python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小

    python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...

  6. shell访问php文件夹,Shell获取某目录下所有文件夹的名称

    Shell获取某目录下所有文件夹的名称以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Shell获取某目录下所有文件夹的 ...

  7. Linux 删除指定目录下的文件/删除文件

    文章目录 删除当前目录下的所有类型的文件 删除指定目录下的所有类型的文件 用 find 命令在当前目录下查找普通文件并删除 用 find 命令在指定目录下查找普通文件并删除 用 find 命令的处理动 ...

  8. php scandir遍历,php使用scandir()函数扫描指定目录下所有文件示例

    本文实例讲述了php使用scandir()函数扫描指定目录下所有文件.分享给大家供大家参考,具体如下: //遍历子文件夹和文件夹的内容 并且计算出文件的多少 //一个demo 引号替换下 functi ...

  9. linux同步某台服务器,linux 两台服务器之间开机自动同步指定目录下的文件

    linux 两台服务器之间开机自动同步指定目录下的文件 服务器B(172.17.166.11)上开机或者重启会自动拉取服务器A(172.17.166.10)上指定目录下所有文件 1.创建服务器B到服务 ...

最新文章

  1. R语言数据包自带数据集之ISwR包的melanom数据集字段解释、数据导入实战
  2. python画折线图代码-python编程:如何使用python代码绘制折线图?
  3. 前端问题:button按钮在form表单的时候会当成submit提交
  4. Office SharePoint Server 2007 规划和体系结构2
  5. Python开发以太坊智能合约指南(web3.py)
  6. JAVA面试题(part3)--if条件语句
  7. 华为突然宣布,对物联网下手了!
  8. 防止内存泄露 Linux下用Valgrind做检查
  9. APP UI设计作品素材,还没灵感就撞墙吧!
  10. [Java] Java常见错误
  11. 微信小程序为电商插上翅膀
  12. GIS-python学习
  13. 03惯性导航系统误差分析
  14. TwinCAT 3 基础——安装
  15. 简易中控紫猫插件版(1)
  16. ubuntu20.04不能切换输入法
  17. 「读书笔记」余生,请多指教
  18. Javascript Yielding Processes 定时器数组分块技术
  19. 硬盘坏道数据恢复-硬盘开盘数据恢复-天伟数据恢复
  20. html5 js获取鼠标坐标,js怎么获取鼠标在div中的相对位置

热门文章

  1. TCP与UDP的区别(未完成,待补充)
  2. Redis:13--常用功能之redis-cli redis-server等命令
  3. C++(STL):24 ---序列式容器stack用法
  4. linux中网页播放音乐,Linux_在Linux系统下播放网页中的背景音乐技巧,在Linux中的firefox浏览许多网页 - phpStudy...
  5. STL源码剖析 空间配置器 查漏补缺
  6. codeforces 271A-C语言解题报告
  7. 硅谷观察者眼中的亚洲
  8. fread rb与r,wb,w的区别
  9. AVS高清立体视频编码器
  10. FreeSql (二十八)事务