function count{
declare -a array
for((i=0; i<256;i++)); do
${array[$i]}=0
done
while read line_in; do
((line_num++))
...(Code Needed)
if [ $line_num == 100 ]; then
break
fi
done < "${path_in}"
(Code needed to print the counts)
ファイルの各行を繰り返し、特定の文字の発生回数を数えて印刷してこの機能を実行するにはどうすればよいですか?
テキストファイルがある場合は、ファイルを繰り返し、各行ごとに各ASCll文字の発生回数を数えて配列に保存したいと思います。次に、配列内の各要素の数を出力します。大文字と小文字は同じように扱われます。
入力する:
Hello
world
予想出力:
D:1
H:1
E:1
L:3
O:2
R:1
W:1
ベストアンサー1
私は次のようなものを選択します。
grep -o . file | sort | uniq -c
1 d
1 e
1 H
3 l
2 o
1 r
1 W
または、大文字と小文字を単一文字として扱う場合:
grep -o . file | sort | uniq -ic | tr [:lower:] [:upper:]
1 D
1 E
1 H
3 L
2 O
1 R
1 W
| tr [:lower:] [:upper:]
予想される出力にすべて大文字を印刷するオプションがあります。