【问题标题】:How to find no. of times a character has occured in bash string? [duplicate]怎么找没有。 bash 字符串中出现了多少次字符? [复制]
【发布时间】:2013-11-04 13:43:47
【问题描述】:

我在 bash $str 中有一个字符串。

str="ayushmishraalightayushas"

我想找出字母 'a' 在字符串中出现的次数。

【问题讨论】:

标签: linux bash shell terminal


【解决方案1】:

这可以使用grep -o 加上wc 来完成:

$ echo "ayushmishraalightayushas" | grep -o 'a' | wc -l
5

如第一个 grep -o 所示:

$ echo "ayushmishraalightayushas" | grep -o 'a'
a
a
a
a
a

因为 grep 的 -o 选项可以:

-o, --only-matching

只打印匹配行的匹配(非空)部分,每个 这样的部分在单独的输出行上。

然后只需使用wc -l 命令计算行数即可。

【讨论】:

    【解决方案2】:

    一种方式:

    echo ayushmishraalightayushas | grep -o a | wc -l
    

    【讨论】:

      【解决方案3】:

      我认为这种 awk 单行程序最简单,无需多个管道命令即可获得此计数:

      str='ayushmishraalightayushas'
      awk -F a '{print NF-1}' <<< "$str"
      5
      

      【讨论】:

        猜你喜欢
        • 2017-04-28
        • 1970-01-01
        • 2023-03-30
        • 2017-05-08
        • 2021-12-25
        • 1970-01-01
        • 2016-06-01
        • 2019-07-14
        • 2011-04-21
        相关资源
        最近更新 更多