如果我使用
wc -m filename
它将生成字符数
和
wc -w filename
将生成多个单词
如果我通过划分字符数/字数
来使用此信息它会给我误导结果,因为字符数将包括空格和标点符号
任何建议?
答案 0 :(得分:3)
我在没有编写脚本的情况下提出的解决方案是通过这样的几个命令来管理它。
<filename tr -d " \t\n\r\.\?\!" | wc -m
这可以删除所有间距,例如新行,制表符和常规间距。包含任何其他标点符号(如冒号)的更严格的tr
命令可以添加到列表中,例如\:
希望有助于
答案 1 :(得分:2)
减去你不想要的字符
chars=$(tr -dc '[:alnum:]' < filename | wc -c)
words=$(cat filename | wc -c)
现在你算一下。我输入wc以避免输出中的额外“文件名”
printf "%.2f" $(echo "$chars/$words" | bc -l)
编辑:感谢宝马