linux shell脚本中如何统计某一行中某字符出现的个数
发布网友
发布时间:2022-04-19 13:46
我来回答
共2个回答
热心网友
时间:2022-05-04 08:51
1、统计某个字符的个数,以a为例
grep -o a urifle
awk -F "" '{for(i=1;i<=NF;++i) if($i=="a") ++sum}END{print sum}' urfile
#-F ""中间必须要有空格 "a"必须使用双引号,字符串
awk -F "" '{for(i=1;i<=NF;i++)a[$i]++}END{for(j in a) if(j=="c") print a[j]}' urfile
#
2、储存在变量里
echo "0001111" |tr -cd 1 |wc -c
如果有时间可以看看《Linux就该这么学》,里面有各种Linux相关知识
热心网友
时间:2022-05-04 10:09
awk '{for(i=1; i<=NF;++i){if($i==1||$i==3||$i==0){num[$i]++}}for(key in num){printf "%d:%d\t",key,num[key]}printf "\n"}'追问
让上图达到下图的结果
简而言之就是按顺序统计每一行 3 2 1 0的个数 并在该行后面显示出来
追答awk '{for(key in num){num[key]=0}for(i=1; i=0;--i){printf "%d ",num[i]}printf "\n"}'