将一段(英文)按照字符出现的频率进行倒叙排列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将一段(英文)按照字符出现的频率进行倒叙排列相关的知识,希望对你有一定的参考价值。

1、文章

Newly-added concrete barriers and steel posts can be seen alongside
the bike path, and more will be installed in the coming months across the city, as the NYPD has promised.

2、操作过程:

2.1 将文中的换行符替换成空格
tr ‘ ‘ ‘ ‘ <a.txt
2.2 将空格去除
sed ‘s# ##g‘
2.3 将单词拆分成单个字母并换行
grep -o ‘w‘
2.4 单词出现的频率进行倒序
sort|uniq -c|sort -rn

3、最后的执行语句为:(此语句是将区分大小写的)
tr ‘ ‘ ‘ ‘ <a.txt|sed ‘s# ##g‘|grep -o ‘w‘ |sort|uniq -c |sort -rn

20 e
13 s
11 t
11 a
10 n
9 i
8 o
8 d
7 r
7 l
7 h
6 c
4 m
4 b
3 p
2 y
2 w
2 N
2 g
1 Y
1 P
1 k
1 D

4、tr ‘ ‘ ‘ ‘ <a.txt|awk ‘{print toupper($0)}‘|sed ‘s# ##g‘|grep -o ‘w‘ |sort|uniq -c |sort -rn

 20 e
 13 s
 12 n
 11 t
 11 a
  9 i
  9 d
  8 o
  7 r
  7 l
  7 h
  6 c
  4 p
  4 m
  4 b
  3 y
  2 w
  2 g
  1 k

5、大小写转换:

awk ‘{print toupper($0)}‘ <a.txt (转化为大写)
awk ‘{print tolower($0)}‘ <a.txt (转化为小写)

以上是关于将一段(英文)按照字符出现的频率进行倒叙排列的主要内容,如果未能解决你的问题,请参考以下文章

Java实现的词频统计

LeetCode 451 根据字符出现频率排序

EditPlus排列数据。 如何将一段数据例如:10000,123123,566自动按位数排列成为566,10000,123123

Leetcode 451.根据字符出现频率排序

导入文本查询字母单词个数

451. 根据字符出现频率排序C++