A-A+

系统运维|脚本编程|统计字母个数

2016年06月23日 Shell脚本 暂无评论 阅读 332 次

方法一:

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
标签:
蜗牛的梦想
Copyright © Linux系统运维联盟 保留所有权利.   Theme  Ality 京公网安备11011402000199号 京ICP备14047887号

用户登录