shell腳本(使用數組統計數據)

                    使用數組統計數據
數組

例一:統計/etc/passwd中/bin/bash和/sbin/nologin的個數有多少bash

#!/bin/bash
#定義變量,拿到/etc/passwd最後一行
NF=`awk -F ":" '{ print $NF }' /etc/passwd`
#定義關聯數組login
declare -A login
#遍歷NF變量,即etc/passwd最後一行
for i in $NF
do
#給數組login做爲索引,值++
        let login[$i]++
done

#從login數組中拿到索引
for j in ${!login[*]}
do
#輸出索引及索引對應的值
echo "$j  ${login[${j}]}"
done


例二:顯示access.log中訪問IP及次數ide

#!/bin/bash
#取access.log第一行
ip=`awk '{print $1}' access.log`
#定義數組ipinfo
declare -A ipinfo
#遍歷變量ip
for i in $ip
do
#變量IP取值賦給ipinfo作索引,相同的將會被++
        let ipinfo[$i]++
done
#最終拿到ipinfo中的索引,並取對應值
for j in ${!ipinfo[*]}
do
        echo "$j ${ipinfo[${j}]}"
done

#上面兩個示例思路是統計什麼,將什麼做爲數組索引++,最後遍歷數組,取值spa

相關文章
相關標籤/搜索