3

文字列を含む配列${myarr[@]}があります。${myarr[@]}基本的に行で構成され、各行は単語で構成されています。

world hello moon
weather dog tree
hello green plastic

helloこの配列での出現回数を数える必要があります。どうすればいいのですか?

4

3 に答える 3

7

代替 (ループなし):

grep -o hello <<< ${myarr[*]} | wc -l
于 2013-03-28T16:46:06.080 に答える
6

外部プログラムは必要ありません:

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

echo $count
于 2013-03-28T16:48:36.803 に答える
4

これを試して:

for word in ${myarr[*]}; do
  echo $word
done | grep -c "hello"
于 2013-03-28T16:29:22.343 に答える