1 #!/bin/bash
#统计目录下文件的种类及其数量
2 if [ $# -ne 1 ]
3 then
4 echo $0 receive more than one arg
5 fi
6
7 path=$1
8 declare -A statarray
9 find $path -type f -print > findresult.txt #find out all the files in the path,and put in findresult.txt
10
11 while read line
12 do
13 ftype=`file -b "$line"`
14 let statarray["$ftype"]++
15 done < findresult.txt #文件信息重定向输入while read line
16 echo ========file types and counts============
17 for ftype in "${!statarray[@]}"
18 do
19 echo $ftype : ${statarray[$ftype]}
20 done
#统计目录下文件的种类及其数量
2 if [ $# -ne 1 ]
3 then
4 echo $0 receive more than one arg
5 fi
6
7 path=$1
8 declare -A statarray
9 find $path -type f -print > findresult.txt #find out all the files in the path,and put in findresult.txt
10
11 while read line
12 do
13 ftype=`file -b "$line"`
14 let statarray["$ftype"]++
15 done < findresult.txt #文件信息重定向输入while read line
16 echo ========file types and counts============
17 for ftype in "${!statarray[@]}"
18 do
19 echo $ftype : ${statarray[$ftype]}
20 done
本文介绍了一个使用Bash脚本统计指定目录下各种文件类型的数量的方法。该脚本首先检查参数个数,然后利用find命令查找路径下的所有文件,并通过file命令获取每个文件的类型,最后使用声明的关联数组来统计每种文件类型的数量。
4423

被折叠的 条评论
为什么被折叠?



