Shell统计文件类型信息

1.脚本

done < <(find $path -type f -print)

第一个< 用于输出重定向

第二个< 用于将子进程的输出转换成相应的文件名

两个<之间有一个空格

“${!statarrary[@]}”用于返回数组的索引列表

#!/bin/bash
if [ $# -ne 1 ];
then
    echo "Usage is $0 basepath";
    exit
fi
path=$1
#定义关联数组
declare -A statarrary;
while read line;
do
    ftype=`file -b "$line"|cut -d, -f1`
    let statarrary["$ftype"]++;
done < <(find $path -type f -print)
echo ========= file types and counts ===========
for ftype in "${!statarrary[@]}";
do
    echo $ftype : ${statarrary["$ftype"]}
done


「 文章如果对你有帮助,请点个赞哦^^ 」 

0