# Read from the file words.txt and output the word frequency list to stdout.
192. 统计词频
写一个 bash 脚本以统计一个文本文件 words.txt
中每个单词出现的频率。
为了简单起见,你可以假设:
words.txt
只包括小写字母和 ' '
。示例:
假设 words.txt
内容如下:
the day is sunny the the the sunny is is
你的脚本应当输出(以词频降序排列):
the 4 is 3 sunny 2 day 1
说明:
相似题目
原站题解
bash 解法, 执行用时: 423 ms, 内存消耗: 3.7 MB, 提交时间: 2024-05-28 00:36:47
cat words.txt | xargs -n 1 | awk '{ if($1 in data) data[$1] = data[$1] + 1 else data[$1] = 1 } END {for(str in data) print data[str],str}' | sort -rn | awk '{print $2, $1}'
bash 解法, 执行用时: 12 ms, 内存消耗: N/A, 提交时间: 2018-08-21 19:05:50
# Read from the file words.txt and output the word frequency list to stdout. cat words.txt | sed 's/ /\n/g' | sed '/^$/d' | sort | uniq -c | awk '{print $2, $1}' | sort -nrk2