テキストファイルの単語の出現回数を計算するBashスクリプト


#!/bin/bash
if [ $# -eq 0 ]; then
  echo "テキストファイルを指定してください。"
  exit 1
fi
filename=$1
# 単語ごとの出現回数を格納する連想配列を作成
declare -A word_count
# テキストファイルを読み込み、単語の出現回数を計算
while read -r word; do
  word_count["$word"]=$(( ${word_count["$word"]} + 1 ))
done < "$filename"
# 結果を表示
for word in "${!word_count[@]}"; do
  echo "$word: ${word_count["$word"]}"
done

上記のスクリプトでは、まず引数の数をチェックしています。引数が与えられていない場合はエラーメッセージを表示して終了します。引数が与えられた場合は、最初の引数をfilename変数に格納します。

その後、declare -A word_countを使用して、連想配列word_countを作成します。この連想配列は、単語をキーとし、その単語の出現回数を値として保持します。

次に、whileループを使用してテキストファイルを読み込みます。各行の単語ごとに、word_countの対応するエントリをインクリメントします。

最後に、forループを使用してword_countの内容を表示します。各単語とその出現回数が表示されます。

このスクリプトを使用するには、ターミナルで以下のように入力します:

bash script.sh テキストファイル名.txt

ここで、script.shはスクリプトの保存されているファイル名であり、テキストファイル名.txtは解析するテキストファイルの名前です。