A-A+
系统运维|脚本编程|统计字母个数
方法一:
awk写法
awk -F "" '{for (i=1;i<=NF;i++) print $i }' test.log|sort|uniq -c
方法二:
#/bin/bash
echo $1
Acount(){
RESD=/tmp/test/result
RES=/tmp/test/temp
echo > $RESD
echo > $RESD
tr -c '[A-Z][a-z]' '[\012*]' < $1 > $RES
echo `cat $RES`
cat $RES|while read line
do
RES1=`echo $line| awk '{print length($0)}'`
for i in $(seq 0 $RES1)
do
if [ $i -lt $RES1 ];then
#echo ${line:$i:1} '=' `grep -c ${line:$i:1} $RES` >> $RESD
echo ${line:$i:1} '=' `grep -o ${line:$i:1} $RES|wc -l` >> $RESD
fi
#echo `grep -c $i $RES`
done
done
}
echo 'Begin counting!!!'
read -p "input:" n
Acount $n;
echo `cat $RESD |sort|uniq`
rm -rf $RESD $RES