统计文本中单词使用频率

来源:互联网 发布:电子书资源知乎 编辑:程序博客网 时间:2024/05/21 15:51
#!/bin/bash#统计单词的频率if [ $# -lt 1 ]; thenecho "usage : $0 filename"fi filename=$1cp $filename $1_backupif [ ! -f $filename ]; thenecho "$filename is not a file"fitemp=$1_tempcat $filename | tr '[:punct:]' ' '\ | tr ' ' '\n' | tr 'A-Z' 'a-z' > $temp# 先把文本的中的标点全部替代成空格,然后把每个单词单独一行,全都转化成小写,方便后面的处理,输出到filename_temp文件中sed -i -E -e '/^$/d' -e '/^[0-9]+/d' $temp# 把filename_temp文件中的空行和字母开头的行删除,用-i写入文件sort $temp | uniq -c | sort -rn > $1_result.txt#先将sort按照字母排序,uniq对于连续的相同的行只输出一次,sort -r 逆序排序,默认是从小到大,输出结果到result.txt中rm $temp# 删除临时文件


原创粉丝点击