192 - Word Frequency

词频统计(Word Frequency Analysis)详解 综上所述,词频统计是一种重要的文本分析工具,通过统计文本中各个词汇的出现频率,可以揭示文本的主题、关键词、趋势等信息。在实际应用中,可以根据具体需求选择合适的词频计算方法和软件工具,以获得更准确、有意义的词频信息。词频统计(Word Frequency Analysis)是语言学和文本分析中的一个重要工具,用于统计文本中各个词汇的出现频率。其目的是通过量化词汇在文本中的出现次数,分析文本的主题、关键词、趋势等信息,为文本分析、数据挖掘、自然语言处理等领域提供数据支持。 阅读详情

Write a bash script to calculate the frequency of each word in a text file words.txt.

For simplicity sake, you may assume:

  • words.txt contains only lowercase characters and space ' ' characters.
  • Each word must consist of lowercase characters only.
  • Words are separated by one or more whitespace characters.

For example, assume that words.txt has the following content:

the day is sunny the the
the sunny is is
Your script should output the following, sorted by descending frequency:
the 4
is 3
sunny 2
day 1

Note:
Don't worry about handling ties, it is guaranteed that each word's frequency count is unique.

[show hint]

Hint:
Could you write it in one-line using  Unix pipes?

Subscribe to see which companies asked this question

思路分析:

知识点:

BEGIN和END:
在Unix awk中两个特别的表达式,BEGIN和END,这两者都可用于pattern中(参考前面的awk语法),提供BEGIN和END的作用是给程序赋予初始状态和在程序结束之后执行一些扫尾的工作。
任何在BEGIN之后列出的操作(在{}内)将在Unix awk开始扫描输入之前执行,而END之后列出的操作将在扫描完全部的输入之后执行。因此,通常使用BEGIN来显示变量和预置(初始化)变量,使用END来输出最终结果。

NR - Number of Record - 当前处理的行是第几行(因为awk是流处理工具,一行一行处理的,所以NR在不停的自增1)

FNR - File Number of Record - 当前处理的行是当前处理文件的第几行
NF - Number of Fileds - 当前行有多少列数据(这个在每行都会根据设定的分割符重新计算,默认分割符是任意连续的多个空白符)
(NR==FNR) 大致等效于 (ARGIND==1) , 一般用来判断是不是在处理第一个文件。
但区别是: 前者是判断当前处理的总行数跟文件内行数相等,而这种情况一般都是在第一个文件上,而ARGIND==1是参数位置第1的文件时生效。—— 但,如果前面的文件是空的,那么NR==FNR就生效于第一个非空文件,而ARGIND==1不会。这微妙的区别使它们可以应用于不同的需要。
实际使用中还可以用文件名判断当前处理的是哪一个文件。
上面几种使用的环境: 用awk连续处理多个文件时,比如 awk '命令序列' file1 file2 file* 这样的情况下,判断在处理哪个文件了。

数组得下表是  字符串

awk '{for(i=1;i<=NF;i++){a[$i]++;count++}} END{for(j in a){print j,a[j]}}' words.txt | sort -k 2 -nr

解法二:

tr -s "\t| " "\n" <words.txt|sort |uniq -c | sort -k1 -r|awk '{print $2,$1}'

tr -s "\t| "  "\n" <words.txt 将文件里面的tab或者空格统一替换成换行
|sort     排序
|uniq -c 去重,并且显示每个单词出现的数量
| sort -k1 -r 按照单词出现的数量进行逆序排序
|awk '{print $2,$1}' 交换第一列和第二列的位置 (因为uniq出来的结果数量是在前面的)
 

WordFrequency 词频统计的可执行程序。可以统计一个网页中出现次数最多的前N个单词 立即下载

相关推荐

WordFrequency源码

词频统计的程序,可以根据url查询该网页中出现次数最多的前N个单词。

如何使用 Wordfreq 进行多语言文本词频统计

wordfreq 是一个用于统计文本中词频的 Python 库。它提供了高效且方便的方法来获取词语在不同语言中的频率分布,适用于自然语言处理、文本分析等领域。功能:多语言支持:支持多种语言,包括英语、中文、法语、德语等。词频统计:可以轻松获得某个词在指定语言中的频率排名。支持自定义词表:可以通过自定义词表来进行词频统计。词...

qq_35485206的博客 2660

WordFrequencyCounter:一个简单的词频分析仪

WordFrequencyCounter 一个简单的词频分析仪

补发:Word Frequency总结

Word Frequency作业主要分为几个步骤 1.读取所有文件的内容 2.正确分词 3.排序并输出 为了节省时间,所以我用的都是.net自带的功能,看了一些同学的方法发现各部分的数据结构和实现方法 数据结构: Hash:用Dictionary,插入删除查找速度快,需要最后手动排序。 平衡树:SortedDictionary,自动排序,但插入删除查找操作比较费时。 其他:K...

weixin_30587025的博客 290

从音频录制到智能手表:Sigma-Delta ADC是如何在低功耗场景下‘欺骗’噪声的?

本文深入解析Sigma-Delta ADC在智能穿戴设备中的低功耗高精度实现原理,重点介绍其通过过采样和噪声整形技术‘欺骗’噪声的独特方法。以TWS耳机和医疗级健康监测为例,展示该技术如何在有限功耗预算下实现专业级信号采集,为消费电子设计提供关键解决方案。

weixin_30825581的博客 389

音视频从入门到精通——指数哥伦布码原理

在计算机中,一般数字的编码都为二进制,但是由于以相等长度来记录不同数字,因此会出现很多的。

mirana的专栏 1383

python 实现word frequency functions词频函数算法

词频函数(Word Frequency Functions)算法主要用于计算文本中每个单词出现的次数。这种算法在文本分析、自然语言处理等领域有着广泛的应用。基本方法直接统计每个词语在文本中出现的次数。这种方法简单直观,但可能会受到文本长度的影响。将每个词语的出现次数除以总词数,得到每个词语的频率。这种方法可以消除文本长度的影响。综合考虑了词语在文本中的出现频率(TF)以及在整个语料库中的普遍程度(IDF)。TF-IDF的计算公式是:TF-IDF = TF * IDF。

luthane的博客 1449

本地快速部署谷歌开放模型Gemma教程(基于Ollama)

谷歌最近发布了新一代开源AI模型Gemma,此次发布的 Gemma 相比自家的 Gemini 更加轻量级,模型权重也一并开源。不仅可以在笔记本电脑上运行,而且还免费可商用,支持中文。运行速度飞快。

特立独行的博客 6722

LeetCode(192. Word Frequency)

LeetCode(192. Word Frequency) 192.Word Frequency Write a bash script to calculate the frequency of each word in a text filewords.txt. For simplicity sake, you may assume: ...

豆子 352

高数15种常见特殊曲线:星形线、心形线、摆线、对数螺线、双曲螺线、阿基米德螺线、伯努利双纽线、三叶玫瑰线、四叶玫瑰线、六叶玫瑰线、三次抛物线、半立方抛物线、箕舌线、蔓叶线、笛卡儿叶形线、概率曲线

4.1 对数螺线(等角螺线、生长螺线)三叶玫瑰线、四叶玫瑰线、六叶玫瑰线。​7.2 半立方抛物线(尼尔曲线)10.笛卡儿叶形线(茉莉花瓣曲线)常考选择题、填空题,大题也涉及。​4.2 双曲螺线(倒数螺线)11.阿基米德螺线(等速螺线)3.摆线(圆滚线、旋轮线)5.双纽线(伯努利双纽线)1.星形线(四尖瓣线)2.心形线(心脏线)..................

刘鑫磊 1万+

FPGA原型验证(八):SoC设计适配与实现策略

时钟门控在SoC设计中很常见,应该小心处理门控时钟,以成功地在FPGA上原型化SoC设计。现代FPGA综合工具在正确约束的情况下,可以自动处理大多数门控时钟。通过遵循本章中的指导方针,即使具有复杂时钟门控的SoC设计也可以得到处理,并成功地在FPGA上进行原型化。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 478

LeetCode: 192. Word Frequency

LeetCode: 192. Word Frequency 题目描述 Write a bash script to calculate the frequency of each word in a text file words.txt. For simplicity sake, you may assume: words.txt contains only lowercase char...

杨领well的专栏 232

北斗导航 | 从北一到北二再到北三,你应该知道的北斗导航系统

博主github:https://github.com/MichaelBeechan 博主优快云:https://blog.youkuaiyun.com/u011344545 一、引言 我国高度重视北斗系统的建设和发展。自20世纪80年代开始探索适合我们国家国情的卫星导航系统发展道路,形成了“三步走”的发展战略:2000年底,建成北斗一号导航系统,向我国广大用户提供服务;2012年底,建成北斗二号导航系统,...

尘世冰封的专栏 3082

【Leetcode】192. Word Frequency

给定一个文件,写一个bash脚本统计每个单词出现的次数。可以假设单词只含英文小写字母,并且以空格间隔。

数学、算法爱好者的博客 139

【VxWorks】Vxworks、QNX、Xenomai、Intime、Sylixos、Ucos等实时操作系统的性能特点

VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,是嵌入式开发环境的关键组成部分。其内核支持多任务调度(采用基于优先级抢占方式,同时支持同优先级任务间的分时间片调度)、任务间的同步、进程间通信机制、中断处理、定时器和内存管理机制等,且提供了一个快速灵活的与 ANSIC 兼容的 I/O 系统,网络支持 对其它VxWorks系统和TCP/IP网络系统的"透明"访问。具有良好的持续发展能力、良好的可靠性、卓越的实时性和高性能的内核以及友好的用户开发环境。

smartvxworks的博客 1065

基于Simulink的光伏-储能-柴油机混合微网仿真

摘要:本文基于Simulink平台构建光伏-储能-柴油机混合微网仿真模型,实现可再生能源与备用电源的协同控制。通过光伏优先、储能调节、柴油机兜底的规则控制策略,在24小时仿真中验证了系统在晴天、阴天和夜间三种典型工况下的运行性能。模型采用PVArray模块模拟光伏发电,Simscape电气库构建储能系统,自定义MATLAB函数实现柴油机启停逻辑和能量管理。仿真结果显示系统功率平衡误差<5%,储能SOC维持在20%-80%,柴油机日均运行时间<4小时,满足设计指标。文章详细说明了建模步骤、参数设置

xiaoheshang_123的博客 70

192. Word Frequency。

Write a bash script to calculate the frequency of each word in a text file words.txt.For simplicity sake, you may assume: words.txt contains only lowercase characters and space ’ ’ characters. Each wor

繁城落叶 921

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

192. Word Frequency

192. Word Frequency QuestionEditorial Solution My Submissions Total Accepted:5272 Total Submissions:20228 Difficulty:Medium Write a bash script to calculate...

dff505045的博客 233

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LeetCode 192. Word Frequency

LeetCode 192. Word Frequency 分析 写bash,不太会啊…… 难度 中 来源 https://leetcode.com/problems/word-frequency/ 题目 Write a bash script to calculate the frequency of each word in a ...

weixin_30883271的博客 152

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[Leetcode] 192. Word Frequency

ProblemWrite a bash script to calculate the frequency of each word in a text file words.txt.For simplicity sake, you may assume: words.txt contains only lowercase characters and space ’ ’ characters. E

stlst的专栏 322

192 Word Frequency

Write a bash script to calculate the frequency of each word in a text filewords.txt. For simplicity sake, you may assume: words.txtcontains only lowercase characters and space' 'characters. E...

weixin_30451709的博客 83

leetcode192. Word Frequency

Write a bash script to calculate the frequency of each word in a text file words.txt.For simplicity sake, you may assume:words.txt contains only lowercase characters and space ’ ’ characters. Each wor

foreverhjhjhj的专栏 325

leetcode 192. Word Frequency

题目: 192. Word Frequency 解答:cat words.txt | tr -s ' ' '\n' | sort | uniq -c | sort -r | awk '{ print $2, $1 }'tr -s: truncate(缩短) the string with target string, but only remaining one instance (e.g. mu

Achiberx 922

LeetCode 192 Word Frequency

题目 分析 1.利用awk默认一行一条记录,默认以空格划分每条记录,NF为划分的总块数先打印出所有单词。 2.排序+统计+消除重复 3.输出 题解 awk '{i=1;while(i<=NF){print $i;

wangxiaobupt的专栏 2398

LeetCode-192-Word Frequency

Write a bash script to calculate the frequency of each word in a text file words.txt. For simplicity sake, you may assume: words.txt contains only lowercase characters and space ’ ’ characters. Each ...

re4g6gr46的博客 185
上一篇: 193 - Valid Phone Numbers
下一篇: 175 - Combine Two Tables
hellochenlu
博客等级 码龄14年 97粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值