shell统计指定目录下所有文件类型及数量
#!/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统计指定目录下所有文件类型及数量相关推荐
- Linux学习:读取目录内容 (目录名和类型)和递归统计指定目录下普通文件个数练习
一.读取目录内容 #include <stdio.h> #include <unistd.h> #include <dirent.h> #include <s ...
- shell替换某个目录下某个文件类型里的内容
[root@test baojing]# cat piliang.sh #!/bin/bash find /root/baojing/ -name "*.sh" | while ...
- Shell脚本实现统计指定目录下的文件和目录数量
编写一个shell脚本,根据其属性计算给定目录中文件和目录的数量. 要求: ▪调用脚本countdf.sh ▪运行脚本时,在命令行中使用目录的路径,例如 ./countdf.sh〜 /test01.这 ...
- php定时删除目录,shell定时删除指定目录下的文件
contab -e 10 */12 * * * sh /usr/local/apache2/htdocs/cakephp/ebook/webroot/php/delete_big_log.sh 代码: ...
- python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小
python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...
- shell访问php文件夹,Shell获取某目录下所有文件夹的名称
Shell获取某目录下所有文件夹的名称以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Shell获取某目录下所有文件夹的 ...
- Linux 删除指定目录下的文件/删除文件
文章目录 删除当前目录下的所有类型的文件 删除指定目录下的所有类型的文件 用 find 命令在当前目录下查找普通文件并删除 用 find 命令在指定目录下查找普通文件并删除 用 find 命令的处理动 ...
- php scandir遍历,php使用scandir()函数扫描指定目录下所有文件示例
本文实例讲述了php使用scandir()函数扫描指定目录下所有文件.分享给大家供大家参考,具体如下: //遍历子文件夹和文件夹的内容 并且计算出文件的多少 //一个demo 引号替换下 functi ...
- linux同步某台服务器,linux 两台服务器之间开机自动同步指定目录下的文件
linux 两台服务器之间开机自动同步指定目录下的文件 服务器B(172.17.166.11)上开机或者重启会自动拉取服务器A(172.17.166.10)上指定目录下所有文件 1.创建服务器B到服务 ...
最新文章
- R语言数据包自带数据集之ISwR包的melanom数据集字段解释、数据导入实战
- python画折线图代码-python编程:如何使用python代码绘制折线图?
- 前端问题:button按钮在form表单的时候会当成submit提交
- Office SharePoint Server 2007 规划和体系结构2
- Python开发以太坊智能合约指南(web3.py)
- JAVA面试题(part3)--if条件语句
- 华为突然宣布,对物联网下手了!
- 防止内存泄露 Linux下用Valgrind做检查
- APP UI设计作品素材,还没灵感就撞墙吧!
- [Java] Java常见错误
- 微信小程序为电商插上翅膀
- GIS-python学习
- 03惯性导航系统误差分析
- TwinCAT 3 基础——安装
- 简易中控紫猫插件版(1)
- ubuntu20.04不能切换输入法
- 「读书笔记」余生,请多指教
- Javascript Yielding Processes 定时器数组分块技术
- 硬盘坏道数据恢复-硬盘开盘数据恢复-天伟数据恢复
- html5 js获取鼠标坐标,js怎么获取鼠标在div中的相对位置
热门文章
- TCP与UDP的区别(未完成,待补充)
- Redis:13--常用功能之redis-cli redis-server等命令
- C++(STL):24 ---序列式容器stack用法
- linux中网页播放音乐,Linux_在Linux系统下播放网页中的背景音乐技巧,在Linux中的firefox浏览许多网页 - phpStudy...
- STL源码剖析 空间配置器 查漏补缺
- codeforces 271A-C语言解题报告
- 硅谷观察者眼中的亚洲
- fread rb与r,wb,w的区别
- AVS高清立体视频编码器
- FreeSql (二十八)事务