Shell数组函数:数组——数组和循环(三)

数组统计性别

        一、定义性别文件

[root@192 ~]# vim sex.txt
jack m
alice f
tom m

        二、定义脚本统计性别

[root@192 ~]# vim sex.sh
#!/bin/bash
declare -A sex
while read line
do
        type=`echo $line | awk '{print $2}'`
        let sex[$type]++
done < sex.txt

for i in ${!sex[@]}
do
        echo "$i: ${sex[$i]}"
done

Shell数组函数:数组——数组和循环(三)_第1张图片 

        三、测试脚本

[root@192 ~]# bash sex.sh
f: 1
m: 2

Shell数组函数:数组——数组和循环(三)_第2张图片 

说明: 

        let sex[$type]++

[root@192 ~]# unset sex
[root@192 ~]# declare -A sex
[root@192 ~]# let sex[m]++ ; echo ${sex[*]}
1
[root@192 ~]# echo ${!sex[*]}
m
[root@192 ~]# let sex[f]++ ; echo ${sex[*]}
1 1
[root@192 ~]# echo ${!sex[*]}
f m
[root@192 ~]# let sex[m]++ ; echo ${sex[*]}
1 2
[root@192 ~]# echo ${!sex[*]}
f m
[root@192 ~]# let sex[f]++ ; echo ${sex[*]}
2 2
[root@192 ~]# echo ${!sex[*]}
f m

Shell数组函数:数组——数组和循环(三)_第3张图片 

 

 

 

你可能感兴趣的:(Shell,linux,bash,shell)