良许Linux教程网 干货合集 有趣的Linux命令行 – 玩转单词数和字符数

有趣的Linux命令行 – 玩转单词数和字符数

Linux 命令行本身有很多乐趣,许多繁琐的任务可以很容易完美地执行。我们将在本文中玩转单词和字符数,以及它们在文本文件中的频率等。

为了统计以操作文本文件中的单词和字符,我们想到的唯一命令就是wc命令。

在Linux和类似Unix的操作系统上,wc命令允许您计算每个指定文件或标准输入的行数,单词数,字符数和字节数,并打印结果。

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

linuxmi@linuxmi:~/www.linuxmi.com$ man man > linuxmi.com.txt

上面的命令创建了一个文本文件“ linuxmi.com.txt ”,其中包含“man”命令的“手册页”的内容。

我们想通过运行以下脚本来检查上面创建的“文本文件”中最常见的单词。

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.com.txt | tr ‘ ‘ ‘\012’ | tr ‘[:upper:]’ ‘[:lower:]’ | tr -d ‘[:punct:]’ | grep -v ‘[^a-z]’ | sort | uniq -c | sort -rn | head

输出如下:

5773
90 the
53 man
50 to
31 is
30 of
29 manual
27 a
25 and
23 in

上面的一个简单脚本显示了文本文件中十个最频繁出现的单词及其出现频率。

如何查看单个的字词呢?那就使用以下的命令吧。

linuxmi@linuxmi:~/www.linuxmi.com$ echo ‘www.linuxmi.com’ | fold -w1

输出如下:

w
w
w
.
l
i
n
u
x
m
i
.
c
o
m

注意:这里的 ‘-w1’ 是设定了长度。

现在我们将分解文本文件中的每个单词,对结果进行排序,并以十个最常用字符的频率获得所需的输出。

linuxmi@linuxmi:~/www.linuxmi.com$ fold -w1

输出如下:

13300 �
7384
769 e
753 a
665 t
591 n
558 o
550 i
482 s
425 r

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

linuxmi@linuxmi:~/www.linuxmi.com$ fold -w1

输出如下:

13300 �
7384
825 E
819 A
734 T
655 N
586 O
573 I
539 S
452 R
385 L
346 M
305 P
299 F
293 H
267 C
258 D
242 –
214 U
209 G

检查上面的输出,如果是英文版本,其中包含了标点符号 . 让我们用’ tr ‘命令去掉标点符号。命令如下:

linuxmi@linuxmi:~/www.linuxmi.com$ fold -w1

现在我有三个文本文件,让我们运行上面的一行脚本来查看输出。

linuxmi@linuxmi:~/www.linuxmi.com$ cat *.txt | fold -w1 | tr ‘[:lower:]’ ‘[:upper:]’ | sort | tr -d ‘[:punct:]’ | uniq -c | sort -rn | head -8

输出如下:

26600 �
14768
1988
1650 E
1638 A
1468 T
1310 N
1172 O

接下来,我们将生成那些至少有十个字母长的不常见字母。以下是简单的脚本。

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.com.txt | tr ” ‘\012’ | tr ‘[:upper:]’ ‘[:lower:]’ | tr -d ‘[:punct:]’ | tr -d ‘[0-9]’ | sort | uniq -c | sort -n | grep -E ‘………………’ | head

输出如下:

注意:上面脚本中的点(.)越来越多,直到生成所有结果。我们可以使用 .{10} 来获得十个字符匹配。

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

就这样了。如果还有什么疑问与建议,请在评论部分留言。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部