当前位置:网站首页>一行代码统计文本中指定字符串出现的次数
一行代码统计文本中指定字符串出现的次数
2022-08-08 03:53:00 【孟意昶】
结论先行,附上最终的一行代码
grep -oE '字符串1|字符串2|字符串3' 文本.txt|wc -l
下面开始逐一梳理思路
- 创建测试文本
以《三国演义》中的虎牢关部分作为样例,创建一个虎牢关.txt文本文档
[[email protected] sanguo]# cat 虎牢关.txt
话说虎牢关下,诸侯云集.天下豪杰,奉先神威。两军阵前,吕布身着红锦百花袍,身披兽面吞头连环铠。手持方天画戟,坐下嘶风赤兔马。真是人中吕布,马中赤兔。布大喝一声“吕布在此,谁人前来送死!”话音未落,幽州公孙瓒,舞动铁槊直取吕布,前去送死。吕布挥戟,战不三合,公孙招架不住,拨马败退。吕布纵马直追,危急关头.忽闻一声怒吼,“三姓家奴吕布休要猖狂,燕人张翼德在此!” 诸侯军阵之中,一将飞出,圆睁环眼,,怒声如雷,手持丈八蛇矛,正是张飞张翼德! 吕布舍弃公孙,疾取张飞。二将大战八十余合,风起云涌,势震八方。诸侯喝彩,声盖九天!士兵看得痴呆,鼓手擂得手酸! 当时恼了虎将关云长,瞪起丹凤眼,竖起卧蚕眉。手提八十二斤青龙偃月刀,催马上前,夹击吕布。刹那间,刀若闪电,矛似流星,奉先画戟,更犹若猛虎搜山,神龙出海。时有兵刃撞击,响彻八方,声闻于天!关张奋力,三将酣战五十回合,犹然战不倒吕布。 沧海横流,方显英雄本色。乱世之中,才知豪杰笑傲。 三人战得难分难解之时,诸侯军中,奋起一将,手持雌雄双剑。刘备刘玄德,一马当先,前来助战。三英合力攻杀,意欲将吕布斩于军前! 虽吕布雄勇无双,无奈独力难支。十余回合之后,已然遮架不住。画戟带风,急取刘备,玄德急忙闪躲,再凝神看时,奉先已然纵马杀出。正是放开玉枷脱蛟龙,反身飞上虎牢关。 虎牢关前,神将天威。桃园三英,兄弟扬名。
- 在测试文本中选出指定字符串
当前想统计虎牢关.txt文本中“吕布”这个人名出现的次数,可以先通过grep -o '吕布' 虎牢关.txt代码,将“吕布”二字每出现一次,就输出一行
[[email protected] sanguo]# grep -o '吕布' 虎牢关.txt
吕布
吕布
吕布
吕布
吕布
吕布
吕布
吕布
吕布
吕布
吕布
吕布
- 同时输出多个字符串
当前不仅想统计“吕布”出现的次数,还想统计“三姓家奴”出现的次数,可以通过grep -oE '吕布|三姓家奴' 虎牢关.txt来实现
[[email protected] sanguo]# grep -oE '吕布|三姓家奴' 虎牢关.txt
吕布
吕布
吕布
吕布
吕布
吕布
三姓家奴
吕布
吕布
吕布
吕布
吕布
吕布
- 统计第3步输出的结果有多少行
其实第3步结束后,就已经是将指定字符串按出现的次数,分行展示了出来,所以此时只需要计算行数就可以了,可以通过grep -oE '吕布|三姓家奴' 虎牢关.txt | wc -l来实现
[[email protected] sanguo]# grep -oE '吕布|三姓家奴' 虎牢关.txt | wc -l
13
这样就表示,在虎牢关.txt文件内,“吕布”和“三姓家奴”这两个词一共出现了13次
- 看看罗贯中在《三国演义》里更偏爱谁
从网上下载一份《三国演义》的txt文本,并依次统计曹操、刘备、孙权、诸葛亮、关羽、张飞、赵云出现的次数,需要说明的是此处统计的方法是根据名称以及字来计数,比如统计曹操,就会是统计“曹操”和“孟德”两个词出现的次数,当然这也不是很全面,毕竟像“曹丞相”也是指的曹操,但本来就是娱乐一下,太过全面倒也耗费脑细胞,那么各位看官请猜一猜,上述几个人物,谁出现的次数最多呢?
下面来揭晓答案啦
| 人物 | 次数 |
|---|---|
| 曹操 | 970 |
| 刘备 | 2110 |
| 孙权 | 333 |
| 诸葛亮 | 1847 |
| 关羽 | 452 |
| 张飞 | 422 |
| 赵云 | 412 |
不得不说,刘皇叔是真的强啊
边栏推荐
- egg-阿里云短信配置
- The futures company has all kinds of account opening fee
- KDD'22 | CausalMTA: Unbiased Advertising Multi-Touch Attribution Technology Based on Causal Inference
- 工厂模式设计思路
- 模拟登录——添加cookies,使用postmanget请求网页数据
- three.js中射线对性能的影响
- JVM调优的策略
- mmedicting的get_flops.py的使用
- MySql入门教程
- 数据标注平台doccano----简介、安装、使用、踩坑记录
猜你喜欢

leetcode: 122. 买卖股票的最佳时机 II

07查询表达式 及 page分页、order 排序《ThinkPHP6 入门到电商实战》

项目管理流程及各环节要点

The ORACLE database connection exception after restart

08 获取器 withAttr、多连缀、whereRaw、事务、数据集《ThinkPHP6 入门到电商实战》

vulfocus靶场情景模式-内网死角

egg-validate-custom validation method error language (error Chinese prompt)

NLP之基本介绍

From hardcover to smartcover, the next wave is emerging. Listen to what smart home gurus have to say?

杭电多校-Map-(模拟退火)
随机推荐
LeetCode_485_Maximum number of consecutive 1s
package package
新手使用 go channel 需要注意的问题
从精装到智装,下一波浪潮浮现,听听智能家居的大咖们怎么说?
Redis persistence mechanism, master-slave, sentry, cluster parsing cluster solution
The type of block in the database buffer cache
easypoi custom template export
three.js中射线对性能的影响
The difference between the new and the malloc
SIGIR'22 | Joint optimization of inter-ad ordering and intra-ad creative prioritization
The futures company has all kinds of account opening fee
The live broadcast of agricultural products continues to heat up, Economic Daily: Don’t forget quality when rushing
流程控制语句顺序分支循环结构
hreg说明备忘
一文带你彻底了解synchronized 和 Lock
机器学习笔记:学习率预热 warmup
07查询表达式 及 page分页、order 排序《ThinkPHP6 入门到电商实战》
leetcode: 455. 分发饼干
08 获取器 withAttr、多连缀、whereRaw、事务、数据集《ThinkPHP6 入门到电商实战》
小程序优化实践