写两个Shell程序分别获取该文本的每个句子的单词数、每个单词出现的频率数。
时间: 2024-02-01 08:14:00 浏览: 68
统计一篇文档中每个单词出现的次数,频率
4星 · 用户满意度95%
获取每个句子的单词数的Shell程序:
```shell
#!/bin/bash
# 读取文本文件内容
text=$(cat text.txt)
# 将文本按句子分割
sentences=$(echo "$text" | sed 's/[.!?]/&\n/g')
# 遍历每个句子,计算单词数
for sentence in $sentences; do
# 去除句子中的标点符号并转换为小写字母
sentence=$(echo "$sentence" | tr '[:punct:]' ' ' | tr '[:upper:]' '[:lower:]')
# 计算单词数并输出
words=$(echo "$sentence" | wc -w)
echo "$words"
done
```
获取每个单词出现的频率数的Shell程序:
```shell
#!/bin/bash
# 读取文本文件内容
text=$(cat text.txt)
# 将文本转换为小写字母
text=$(echo "$text" | tr '[:upper:]' '[:lower:]')
# 将文本中的标点符号替换为空格
text=$(echo "$text" | tr '[:punct:]' ' ')
# 将文本按单词分割并排序
words=$(echo "$text" | tr ' ' '\n' | sort)
# 统计每个单词出现的次数并输出
echo "$words" | uniq -c
```
其中,`text.txt`为待处理的文本文件。两个程序都需要在Terminal中执行。
阅读全文