awk词频统计功能
[root@test88 ~]# vim word_freq.sh #!/bin/bash
if [ $# -ne 1 ];then
echo "Usage: $0 filename";
exit -1
fi filename=$1 egrep -o "\b[[:alpha:]]+\b" $filename | awk '{count[$0]++}END{printf("%-14s%s\n","Word","Count");for (ind in count){ printf("%-14s%d\n",ind,count[ind]);}}' [root@test88 ~]# sh word_freq.sh test.txt
Word Count
test 1
oldboy 1
liyong 1 #egrep -o 表示只打印匹配到的字符,由换行符分割
#\b是正则表达式里的单词边界符,位于能构成单词的字符(字母数字下划线)和不能构成单词的字符之间
#比如一段文本:
[root@test88 ~]# vim boundary.txt peter 2is learning linux. [root@test88 ~]# egrep -o "[[:alpha:]]+" boundary.txt
peter
is
learning
linux [root@test88 ~]# egrep -o "\b[[:alpha:]]+\b" boundary.txt
peter
learning #is没匹配出来
linux #显然单词边界的作用在于先划定一段区域,从非单词部分开始到非单词部分结束,然后看区域内容是否匹配。从而能保证连续的一段内一定全是字母,没有数字或者下划线。通常写单词都是一个单词空一个,如果单词内出现数字或下划线就不认为是单词。如果不加\b实际上匹配的是一串连续字母。 #count是一个关联数组,count[$0]表示索引为$0的值,当使用count[$0]++的时候,count[$0]的值默认为0的整型,而且这个值是变化的,索引每重复一次,值就加一。
awk词频统计功能的更多相关文章
- awk词频统计
2018-01-03@中关村 有文本 a.log 如下,请做词频统计,统计出每个单词出现的频率并倒序排序. The Zen of Python, by Tim Peters Beautiful is ...
- Java实现的词频统计——功能改进
本次改进是在原有功能需求及代码基础上额外做的修改,保证了原有的基础需求之外添加了新需求的功能. 功能: 1. 小文件输入——从控制台由用户输入到文件中,再对文件进行统计: 2.支持命令行输入英文作品的 ...
- MapReduce 入门之一步步自实现词频统计功能
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7687120.html ------------------------------------ ...
- 使用HDFS完成wordcount词频统计
任务需求 统计HDFS上文件的wordcount,并将统计结果输出到HDFS 功能拆解 读取HDFS文件 业务处理(词频统计) 缓存处理结果 将结果输出到HDFS 数据准备 事先往HDFS上传需要进行 ...
- 如何用java完成一个中文词频统计程序
要想完成一个中文词频统计功能,首先必须使用一个中文分词器,这里使用的是中科院的.下载地址是http://ictclas.nlpir.org/downloads,由于本人电脑系统是win32位的,因此下 ...
- 软工之词频统计器及基于sketch在大数据下的词频统计设计
目录 摘要 算法关键 红黑树 稳定排序 代码框架 .h文件: .cpp文件 频率统计器的实现 接口设计与实现 接口设计 核心功能词频统计器流程 效果 单元测试 性能分析 性能分析图 问题发现 解决方案 ...
- 使用Storm进行词频统计
词频统计 1.需求:读取指定目录的数据,并且实现单词计数功能 2.实现方案: Spout用于读取指定文件夹(目录),读取文件,将文件的每一行发射到Bolt SplitBolt用于接收Spout发射过来 ...
- 个人项目----词频统计WEB(部分功能)
需求分析 1.使用web上传txt文件,对上传的txt进行词频统计. 2.将统计后的结果输出到web页面,力求界面优美. 3.在界面上展示所给url的文章词频统计,力求界面优美. 3.将每个单词同四. ...
- Hadoop上的中文分词与词频统计实践 (有待学习 http://www.cnblogs.com/jiejue/archive/2012/12/16/2820788.html)
解决问题的方案 Hadoop上的中文分词与词频统计实践 首先来推荐相关材料:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-c ...
随机推荐
- windows 与linux 上面PG的简单验证
0.0 目的 验证一下 windows 上面 和linux上面的数据文件是否可以 冷备份 恢复. 1 方法关闭 windows机器上面postgresql 的服务 我这边是PG10.4 可以使用命令 ...
- GS环境里面 9999 常用密码的加密后的值
1. Test6530 APTZ5s6vrw1dglqO/63osA== 2. aaaaaa zgnewZXGGoqcPGtNpXTSXQ== 3. cwpass 3Me34S0+zY4xEGUFtz ...
- 关于mybatis的@Param注解和参数
1,使用@Param注解 当以下面的方式进行写SQL语句时: @Select("select column from table where userid = #{userid} " ...
- 排查mysql innodb Lock wait timeout exceeded; try restarting transaction的问题
OMG写的时候崩溃了一次. 触发关注这个问题的事情是 我们在使用pt-online-schedule 改表的时候总是拿不到锁,并且报出mysql innodb Lock wait timeout ex ...
- 设计模式笔记:策略模式(Strategy)
1. 策略模式简介 1.1 定义 策略是为达到某一目的而采取的手段或方法,策略模式的本质是目标与手段的分离,手段不同而最终达成的目标一致.客户只关心目标而不在意具体的实现方法,实现方法要根据具体的环境 ...
- Delphi编程中动态菜单要点归纳
一.创建菜单并添加项目 在设计程序时,有时需要动态创建菜单, 通常使用以下的语句: PopupMenu1 := TPopupMenu.Create(Self); Item := TMenuIte ...
- xhtml的3種文檔聲明類型
xhtml有三種文檔聲明類型: strict:使用嚴格的標記,避免語法上的混亂: trasitional:為不支持的css的瀏覽器編寫xhtml時: frameset:利用框架將窗口分割為兩個部分或多 ...
- entity framework 缓存干扰的数据不一致问题
本来EF的设计上DbContext就应该是一个短暂存在的对象,所以它默认才开了缓存和自动检测对象修改之类的功能,而且不是线程安全的.理想的生命周期应该是处理一次请求使用一个context,全局使用会带 ...
- [代码]--python爬虫联系--爬取成语
闲来无事,玩了个成语接龙,于是就想用python爬取下成语网站上的成语,直接上代码: #coding=utf-8 import requests from bs4 import BeautifulSo ...
- linux 运维常用的一些命令收集
1.删除0字节文件find -type f -size 0 -exec rm -rf {} ; 2.查看进程按内存从大到小排列ps -e -o “%C : %p : %z : %a”|sort ...