在Linux终端的乐趣 - 玩字和字符计数

Linux命令行有很多乐趣,许多单调乏味的任务可以非常容易地完成。 使用字和字符,它们在文本文件中的频率等是我们将在本文中看到的。

这涉及到我们的头脑,为调整Linux命令行来操作的话和人物从一个文本文件中的唯一命令wc命令

与词和信件计数的乐趣在壳

它代表字数'WC'命令能够打印换行,单词从文本文件的字节计数。

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

$ man man > man.txt

上面的命令创建' 手册 '的' '的命令内容的文本文件“man.txt”。

我们希望通过运行下面的脚本来检查最常用词,在上面创建“ 文本文件 ”。

$ cat man.txt | tr ' '  '\012' | tr '[:upper:]' '[:lower:]' | tr -d '[:punct:]' | grep -v '[^a-z]' | sort | uniq -c | sort -rn | head
示例输出
7557 
262 the 
163 to 
112 is 
112 a 
78 of 
78 manual 
76 and 
64 if 
63 be

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

如何使用以下命令将单词分解为单个单词。

$ echo 'youcl team' | fold -w1
示例输出
t 
e 
c 
m 
i 
n 
t 
t 
e 
a 
m

:在这里,“-w1'是的宽度。

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

$ fold -w1 < man.txt | sort | uniq -c | sort -rn | head
示例输出
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
示例输出
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”命令。 开始了:

$ fold -w1 < man.txt | tr '[:lower:]' '[:upper:]' | sort | tr -d '[:punct:]' | uniq -c | sort -rn | head -20
示例输出
  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
示例输出
  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
示例输出
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}来获得十个字符匹配。

这些简单的脚本,也使我们知道最常出现的词和英文字符。

目前为止就这样了。 我会再次在这里与另一个有趣的,关于Beats主题值得知道,你的人会喜欢阅读。 不要忘记在下面的评论部分向我们提供您宝贵的反馈。

另请阅读: Linux的20个滑稽的命令

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏