Shell 统计字符串中每个字符出现的次数(包含空格特殊字符)

2022/4/22 7:13:01

本文主要是介绍Shell 统计字符串中每个字符出现的次数(包含空格特殊字符),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Shell脚本实现如下:

#!/bin/bash

IFS=$'\n'   #echo自动将连续的空格当成一个处理

str='''abc b  ad&&    a'''

num=$( echo -n $str | wc -c )

i=1
while [ $i -le $num ]
do
        letter=`echo $str|cut -c $i`
        if [[ $letter = ' ' ]]
        then
            count=`echo $str |grep -o [[:space:]] |wc -l`
        else
            count=`echo $str |grep -o $letter |wc -l`
        fi
        echo "letter is '$letter',count is $count"
        i=`expr $i + 1`

done|sort -u

unset $IFS

  

注意:

1. IFS(Internal Field Seprator),内部域分隔符,这里出现的问题是echo会将多个连续的空格输出为一个;参考(2条消息) Shell中的IFS解惑_whuslei的博客-CSDN博客_ifs shell

2. 使用cut -c 切出字符串中的每一个字符

3. grep -o 匹配所有符合的内容,每个匹配内容输出为一行

4. sort -u 去除输出中重复的行

 



这篇关于Shell 统计字符串中每个字符出现的次数(包含空格特殊字符)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程