首页 > 试题广场 >

统计每个单词出现的个数

[编程题]统计每个单词出现的个数
  • 热度指数:39169 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
写一个bash脚本以统计一个文本文件nowcoder.txt 中每个单词出现的个数。

为了简单起见,你可以假设:
nowcoder.txt只包括小写字母和空格,每个单词只由小写字母组成,单词间由一个或多个空格字符分隔。

示例:
假设 nowcoder.txt 内容如下:
welcome nowcoder
welcome to nowcoder
nowcoder
你的脚本应当输出(以词频升序排列):
to 1 
welcome 2 
nowcoder 3 

说明:
不要担心个数相同的单词的排序问题,每个单词出现的个数都是唯一的。
示例1

输入

welcome nowcoder
welcome to nowcoder
nowcoder

输出

to 1 
welcome 2 
nowcoder 3 
头像 bug_making()
发表于 2022-04-28 21:28:31
命令如下: cat nowcoder.txt | xargs -n1 | sort | uniq -c | sort -n | awk '{print $2, $1}' 现在一步步地看一下各个命令的作用 cat 查看内容 [root@iZbp18vd1p2tytbwn5vgaqZ ~]# cat 展开全文
头像 牛客822745469号
发表于 2021-09-08 16:01:32
写一个 bash脚本以统计一个文本文件 nowcoder.txt 中每个单词出现的个数。 为了简单起见,你可以假设:nowcoder.txt只包括小写字母和空格。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。 示例:假设 nowcoder.txt 内容如下:welcome nowcode 展开全文
头像 晚安辉夜
发表于 2021-12-24 16:29:09
awk '{for(i=1;i<=NF;i++) { list[$i]+=1 } } END{for (i in list) { print i,list[i] }}' nowcoder.txt |sort -k 2
头像 牛客193969911号
发表于 2022-02-25 09:36:45
cat nowcoder.txt |tr -s ' ' '\n'|sort|uniq -c|sort|awk '{print 2,2,2,1}' tr -s "空格"替换为“换行”可以将所有单词列成1列 sort 排序 uniq -c 计数 sort 计数后升序排列 awk '{print 2,2, 展开全文
头像 代码太难写
发表于 2024-09-09 14:07:41
#!/bin/bash awk -F" " '{for(i=1;i<=NF;i++)a[$i]++}END{for(i in a)print i,a[i]}' nowcoder.txt | sort -k2
头像 牛客469140580号
发表于 2022-05-09 23:19:50
cat nowcoder.txt|tr -s ' ' "\n"|sort|uniq -c|sort|awk '{print $2,$1}' awk '{for(i=1;i<=NF;i++)a[$i]++" "$i}END{for(i in a)print i, a[i]}'
头像 无阵雨
发表于 2021-10-11 22:06:15
awk '{for (i=1; i<=NF; i++) arr[$i]++} END{for (idx in arr) print idx" "arr[idx]}' nowcoder.txt 利用 awk 和数组
头像 已注销
发表于 2023-08-21 20:42:07
#!/bin/bash cat ./nowcoder.txt|xargs -n1|sort|uniq -c|sort|awk '{print $2,$1}'
头像 AAA批发电锯
发表于 2023-07-25 22:15:12
#!/bin/bash declare -A wordCount while IFS=' ' read -r -a words do for word in "${words[@]}" do #关联数组保存单词和对应个数 ((wor 展开全文
头像 年华201905241506786
发表于 2024-12-03 13:46:54
#!/bin/bash cat nowcoder.txt | xargs -n1 |sort | uniq -c| sort -n | awk '{print $2,$1}'