📅  最后修改于: 2023-12-03 15:07:50.663000             🧑  作者: Mango
本程序旨在在 UNIX 系统中计算字符串中区分大小写的单词的出现次数。
本程序使用了以下步骤来实现计算:
tr
命令将所有大写字母替换成小写字母;awk
命令对文本进行处理,将每个单词作为一个记录,并统计其出现次数;#!/bin/bash
# 替换字符串中的非单词字符为' '
text=$(echo "$1" | tr -cs '[:alnum:]' ' ')
# 将大写字母替换成小写字母
text=$(echo "$text" | tr '[:upper:]' '[:lower:]')
# 使用awk进行处理并统计单词出现次数
echo "$text" | awk '{
for (i=1; i<=NF; i++) {
count[tolower($i)]++
}
}
END {
for (word in count) {
print word": "count[word]
}
}' | sort
在 UNIX 系统中,使用终端进入程序所在目录,输入以下命令即可计算出现次数:
$ ./wordcount.sh "The quick brown fox jumps over the lazy dog."
brown: 1
dog: 1
fox: 1
jumps: 1
lazy: 1
over: 1
quick: 1
the: 2
.sh
文件,并使用 chmod
命令授予执行权限。