Bashで配列内の文字列の出現回数を数える方法


  1. forループを使用した方法:

    #!/bin/bash
    # 配列の定義
    array=("apple" "banana" "apple" "orange" "apple")
    # カウンターの初期化
    count=0
    # 配列内の文字列の出現回数を数える
    for element in "${array[@]}"; do
    if [[ $element == "apple" ]]; then
        ((count++))
    fi
    done
    # 結果の表示
    echo "出現回数: $count"
  2. grepコマンドを使用した方法:

    #!/bin/bash
    # 配列の定義
    array=("apple" "banana" "apple" "orange" "apple")
    # grepコマンドを使用して文字列の出現回数を数える
    count=$(printf "%s\n" "${array[@]}" | grep -c "apple")
    # 結果の表示
    echo "出現回数: $count"
  3. awkコマンドを使用した方法:

    #!/bin/bash
    # 配列の定義
    array=("apple" "banana" "apple" "orange" "apple")
    # awkコマンドを使用して文字列の出現回数を数える
    count=$(printf "%s\n" "${array[@]}" | awk -v str="apple" '{count += gsub(str, "")} END {print count}')
    # 結果の表示
    echo "出現回数: $count"

これらの方法を使用すると、配列内の特定の文字列の出現回数をカウントすることができます。適切なコード例を選択して、自分のスクリプトに組み込んでください。