Linux 如何查找一个字符在bash字符串中出现的次数?
我在bash$str中有一个字符串Linux 如何查找一个字符在bash字符串中出现的次数?,linux,bash,shell,terminal,Linux,Bash,Shell,Terminal,我在bash$str中有一个字符串 str="ayushmishraalightayushas" 我想找出字母'a'在字符串中出现的次数。这可以使用grep-opluswc实现: $ echo "ayushmishraalightayushas" | grep -o 'a' | wc -l 5 正如第一个grep-o所示: $ echo "ayushmishraalightayushas" | grep -o 'a' a a a a a 因为grep的-o选项会: -o、 --仅匹配 仅打
str="ayushmishraalightayushas"
我想找出字母'a'在字符串中出现的次数。这可以使用
grep-o
pluswc
实现:
$ echo "ayushmishraalightayushas" | grep -o 'a' | wc -l
5
正如第一个grep-o
所示:
$ echo "ayushmishraalightayushas" | grep -o 'a'
a
a
a
a
a
因为grep的-o
选项会:
-o、 --仅匹配
仅打印匹配行的匹配(非空)部分,每个部分
这种部件在单独的输出线上
然后,只需使用
wc-l
命令计算行数。这可以使用grep-o
pluswc
完成:
$ echo "ayushmishraalightayushas" | grep -o 'a' | wc -l
5
正如第一个grep-o
所示:
$ echo "ayushmishraalightayushas" | grep -o 'a'
a
a
a
a
a
因为grep的-o
选项会:
-o、 --仅匹配
仅打印匹配行的匹配(非空)部分,每个部分
这种部件在单独的输出线上
然后,只需使用wc-l
命令计算行数。单向:
echo ayushmishraalightayushas | grep -o a | wc -l
单向:
echo ayushmishraalightayushas | grep -o a | wc -l
我认为,这种awk one liner最简单,可以在不需要多个管道命令的情况下获得此计数:
str='ayushmishraalightayushas'
awk -F a '{print NF-1}' <<< "$str"
5
str='Ayushmishraallightayushas'
awk-fa'{print NF-1}'这个awk单行程序是最简单的,我相信它可以在不需要多个管道命令的情况下获得此计数:
str='ayushmishraalightayushas'
awk -F a '{print NF-1}' <<< "$str"
5
str='Ayushmishraallightayushas'
awk-fa{print NF-1}并且,尽管接受的答案不被遵循。并且,尽管接受的答案不被遵循。