当前所在位置: 首页 > 数码科技 > 正文

在Linux的命令行中实现字符出现频率统计的方法

2023-10-21 本站作者 【 字体:

Linux 命令行有很多的乐趣,我们可以很容易并且完善地执行很多繁琐的任务。比如,我们计算一个文本文件中字和字符的出现频率,这就是我们打算在这篇文章中讲到的。

立刻来到我们脑海的命令,计算字和字符在一个文本文件中出现频率的 Linux 命令是 wc 命令。

在使用的脚本来分析文本文件之前,我们必须有一个文本文件。为了保持一致性,我们将创建一个文本文件,man命令的输出如下所述。

代码如下:

$ man man > man.txt

以上命令是将man命令的使用方式导入到man.txt文件里。

我们希望能得到最平常的单词,对之前我们新建的文件执行如下脚本。

代码如下:

$ cat man.txt | tr ' ' '/012' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | grep -v '[^a-z]' | sort | uniq -c | sort -rn | head

Sample Output

代码如下:

7557

262 the

163 to

112 is

112 a

78 of

78 manual

76 and

64 if

63 be

上面的脚本,输出了最常使用的十个单词。

如何看单个的字母呢?那就用如下的命令。

代码如下:

$ echo 'tecmint team' | fold -w1

Sample Output

[code] t

e

c

m

i

n

t

t

e

a

m

注: -w1只是设定了长度

现在我们将从那个文本文件中掰下来的每一个字母,对结果进行排序,得到所需的输出频率的十个最常见的字符。

$ fold -w1 < man.txt | sort | uniq -c | sort -rn | head

Sample Output

代码如下:

8579

2413 e

1987 a

1875 t

1644 i

1553 n

1522 o

1514 s

1224 r

1021 l

如何区分大小写呢?之前我们都是忽略大小写的。所以,用如下命令。

$ fold -w1 < man.txt | sort | tr '[:lower:]' '[:upper:]' | uniq -c | sort -rn | head -20

Sample Output

代码如下:

11636

2504 E

2079 A

2005 T

1729 I

1645 N

1632 S

1580 o

1269 R

1055 L

836 H

791 P

766 D

753 C

725 M

690 U

605 F

504 G

352 Y

344 .

请检查上面的输出,标点符号居然包括在内。让我们干掉他,用tr 命令。GO:

代码如下:

$ fold -w1 < man.txt | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -20

Sample Output

代码如下:

11636

2504 E

2079 A

2005 T

1729 I

1645 N

1632 S

1580 O

1550

1269 R

1055 L

836 H

791 P

766 D

753 C

725 M

690 U

605 F

504 G

352 Y

现在,我们有了三个文本,那就让我们用如下命令查看结果吧。

代码如下:

$ cat *.txt | fold -w1 | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -8

Sample Output

代码如下:

11636

2504 E

2079 A

2005 T

1729 I

1645 N

1632 S

1580 O

下一步我们将会生成那些罕见的至少十个字母长的单词。以下是简单的脚本:

代码如下:

$ cat man.txt | tr '' '/012' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | tr -d '[0-9]' | sort | uniq -c | sort -n | grep -E '..................' | head

Sample Output

代码如下:

1 ──────────────────────────────────────────

1 a all

1 abc any or all arguments within are optional

1 able see setlocale for precise details

1 ab options delimited by cannot be used together

1 achieved by using the less environment variable

1 a child process returned a nonzero exit status

1 act as if this option was supplied using the name as a filename

1 activate local mode format and display local manual files

1 acute accent

注: 上面的.越来越多,其实,我们可以使用.{10} 得到同样的效果。

这些简单的脚本,让我们知道最频繁出现的单词和英语中的字符。

现在结束了。下次我会在这里讲到另一个有趣的话题,你应该会喜欢读。还有别忘了向我们提供您的宝贵意见。

阅读全文
相关推荐

太原市旅游攻略 太原最值得去的地方

太原市旅游攻略 太原最值得去的地方
太原经典1日游:太原第一站先游览山西省博物馆感受5000年的中华文明史,了解感受夏商踪迹、晋国霸业、佛风遗韵、明清晋商文化;然后可以去太原最大的的迎泽公园感受当地人民的生活气息,再去太原食品街寻找美食。

密云古北水镇旅游攻略 密云古北水镇一日游攻略

密云古北水镇旅游攻略 密云古北水镇一日游攻略
古北水镇位于密云东北侧,是一处在古村基础上改造重建的古镇景区。古镇依水而建,即有北方古镇的大气威严,也不失江南水乡的特色,可以泡温泉、品尝美食、爬司马台长城等,是京郊地区休闲度假不错的选择。古镇内不通车,非常适合步行游玩。

银川沙湖旅游攻略 银川沙湖几月份去最好

银川沙湖旅游攻略 银川沙湖几月份去最好
宁夏沙湖旅游景区地处贺兰山下、黄河金岸,20余平方公里沙漠与40余平方公里水域毗邻而居,拥有万亩水域、两千亩芦苇、千亩荷池、五千亩沙丘,这里栖居着白鹤、黑鹤、天鹅等十数种珍鸟奇禽,被誉为“世间少有”的文化旅游胜地。

黔东南旅游攻略 贵州黔东南旅游攻略自由行

黔东南旅游攻略 贵州黔东南旅游攻略自由行
黔东南苗族侗族自治州位于贵州省东南部,地处云贵高原东南边缘,东邻湖南,南接广西,境内居住着苗、侗、汉、布依、水等20多个民族,民族风情非常浓郁。这里有世界上最大的苗寨和最大的侗寨,有独特的吊脚楼、风雨桥、鼓楼。秋季是到黔东南旅行的最好时间,雨水不会像夏季般频繁,气温不会像冬季时寒冷,温度适宜。

青海湖旅游住宿攻略 青海湖环湖住宿攻略

青海湖旅游住宿攻略 青海湖环湖住宿攻略
由于青海湖距离西宁较远,所以建议在青海湖周边过夜,以便欣赏日出日落等美景。目前青海湖周边住宿的选择地方主要有以下几个:一、二郎剑景区附近:这里是青海湖唯一的官方景区,也是观看日出最佳的地点之一。这里有多家酒店和民宿可供选择,价格根据季节和设施不同而不同,旺季每晚约200-500元,淡季每晚约100-300元。

丽江大理洱海旅游攻略 丽江大理攻略最佳旅游攻略

丽江大理洱海旅游攻略 丽江大理攻略最佳旅游攻略
丽江古城一日游攻略:今日主要游览丽江古城,漫步在古城小巷,尽情享受古城慵懒的氛围,还可以在街头巷尾寻觅各式丽江特色小吃来填补肚子。之后前往狮子山,登上狮子山的制高点—万古楼,俯瞰整个丽江古城,运气足够好的话向北可以远眺到玉龙雪山。下了狮子山顺路去木府,近距离欣赏古城内这座仿紫禁城的纳西宫廷式建筑。傍晚回到古城,在四方街感受古城的夜生活,还可以去酒吧消遣一番,说不定会碰上美好的艳遇。古城西侧的狮子山公园是观赏古城全景的最佳去处,除了山顶的万古楼,公园有很多点都可以看到古城和雪山。

长春旅游攻略景点必去 长春市区旅游攻略必去景点

长春旅游攻略景点必去 长春市区旅游攻略必去景点
1、吉林省博物院:吉林省博物院,原名吉林省博物馆。吉林省博物院是一座历史与艺术博物馆,现有文物藏品12万余件,其中一级文物295件、二级文物3379件、三级文物14280件、其它文物近10万件,始自远古,及至现代,精华荟萃,内涵丰富。2、伪满皇宫博物院:伪满洲皇宫博物院建立在伪满皇宫旧址上,是末代皇帝爱新觉罗•溥仪充当伪满洲国傀儡皇帝时居住的宫殿,可见到御用汽车等文物。皇宫可分为进行政治活动的外廷和日常生活的内廷两部分,现分别辟为伪满皇宫陈列馆和伪满帝宫陈列馆,有缉熙楼、中和门、怀远楼、同德殿等建筑景观。

康定新都桥旅游攻略 新都桥必去的几个景点

康定新都桥旅游攻略 新都桥必去的几个景点
新都桥又称东俄罗,位于318国道川藏南北线的分叉路口,号称“摄影家的天堂”。在这可以拍摄到无垠的草甸,曲折的溪流,金黄的秋叶,山坡上大片在觅食的牛羊,散落着的藏族村寨,在金秋来临之际不失为赏秋的好去处,随便一按快门都能得出一张美丽的风景照。此外,国家地理推荐最佳欣赏蜀山之王——贡嘎山的观景点正是在新都桥,天气好可拍摄日照金山之景。

普陀山自驾旅游攻略 普陀山旅游自驾游攻略

普陀山自驾旅游攻略 普陀山旅游自驾游攻略
普陀山在浙江省舟山市普陀区,是舟山群岛1390个岛屿中的一个小岛,形似苍龙卧海,面积近13平方公里,与舟山群岛的沈家门隔海相望,素有“海天佛国”、“南海圣境”之称,是首批国家重点风景名胜区。

南昌旅游攻略景点必去 南昌必看的旅游点

南昌旅游攻略景点必去 南昌必看的旅游点
1、滕王阁:滕王阁临赣江而立,因王勃的《滕王阁序》而闻名,是“江南三大名楼”之一,也是南昌的地标。景区主要由滕王阁主阁,和南北两面的小园子组成,登楼望远是游人来此的主要目的。主阁从外面看是三层带回廊的建筑,其实它里面还有三个暗层和一个设备层,加上两层底座,一共有九层。2、八一广场:位于江西省南昌市的心脏,是江西政治、经济、文化、休闲、娱乐等活动的重要场所。由中心广场、主席台、东西二块游园组成,是江西省最大的城市中心广场。广场中心伫立着由元帅题写的“八一南昌起义纪念塔”,很多游客会在此合影。
本文Tag