如何计算BASH数组中的项目出现次数?

时间:2013-03-28 16:15:08

标签: arrays bash

我有一个带字符串的数组${myarr[@]}${myarr[@]}基本上由行和每行的单词组成。

world hello moon
weather dog tree
hello green plastic

我需要计算此数组中hello的出现次数。 我该怎么做?

3 个答案:

答案 0 :(得分:3)

替代方案(没有循环):

grep -o hello <<< ${myarr[*]} | wc -l

答案 1 :(得分:2)

试试这个:

for word in ${myarr[*]}; do
  echo $word
done | grep -c "hello"

答案 2 :(得分:2)

无需外部程序:

count=0
for word in ${myarr[*]}; do
    if [[ $word =~ hello ]]; then
        (( count++ ))
    fi
done 

echo $count