编写一个 Shell 脚本,可以在在shell上运行,首先从键盘输入一个文本文件路径作为参数,注意异常输入的问题,如果输入异常,输出英文提示,直到输入正确,然后统计输出该文本文件中行数、单词个数(中文个数和英文单词个数相加的总个数)
时间: 2024-04-15 07:29:19 浏览: 103
Shell中统计字符串中单词的个数的几种方法
5星 · 资源好评率100%
可以为您编写一个符合您要求的 Shell 脚本,请参考以下代码:
```shell
#!/bin/bash
# 提示用户输入文本文件路径,并进行异常输入处理
while true; do
read -p "请输入文本文件路径: " filepath
if [ -f "$filepath" ]; then
break
else
echo "文件不存在,请重新输入!"
fi
done
# 统计行数
line_count=$(wc -l < "$filepath")
# 统计单词个数(中文个数和英文单词个数相加)
word_count=$(cat "$filepath" | tr -d '\n' | sed 's/[[:punct:]]/ /g' | sed 's/[[:space:]]/ /g' | awk '{print NF}')
# 输出统计结果
echo "行数:$line_count"
echo "单词个数:$word_count"
```
将以上代码保存为一个后缀为 `.sh` 的文件,例如 `count.sh`。然后在终端中运行该脚本,按照提示输入文本文件路径即可获得统计结果。
请注意,该脚本假设输入的文本文件是普通文本文件,不包含特殊格式或编码。
阅读全文