-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
/
README.md
57 lines (37 loc) · 1.41 KB
/
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# [192. 统计词频](https://leetcode.cn/problems/word-frequency)
[English Version](/solution/0100-0199/0192.Word%20Frequency/README_EN.md)
## 题目描述
<!-- 这里写题目描述 -->
<p>写一个 bash 脚本以统计一个文本文件 <code>words.txt</code> 中每个单词出现的频率。</p>
<p>为了简单起见,你可以假设:</p>
<ul>
<li><code>words.txt</code>只包括小写字母和 <code>' '</code> 。</li>
<li>每个单词只由小写字母组成。</li>
<li>单词间由一个或多个空格字符分隔。</li>
</ul>
<p><strong>示例:</strong></p>
<p>假设 <code>words.txt</code> 内容如下:</p>
<pre>the day is sunny the the
the sunny is is
</pre>
<p>你的脚本应当输出(以词频降序排列):</p>
<pre>the 4
is 3
sunny 2
day 1
</pre>
<p><strong>说明:</strong></p>
<ul>
<li>不要担心词频相同的单词的排序问题,每个单词出现的频率都是唯一的。</li>
<li>你可以使用一行 <a href="http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html">Unix pipes</a> 实现吗?</li>
</ul>
## 解法
<!-- 这里可写通用的实现逻辑 -->
<!-- tabs:start -->
### **Bash**
<!-- 这里可写当前语言的特殊实现逻辑 -->
```sh
# Read from the file words.txt and output the word frequency list to stdout.
cat words.txt | tr -s ' ' '\n' | sort | uniq -c | sort -nr | awk '{print $2, $1}'
```
<!-- tabs:end -->