awk做wordcount

使用awk进行wordcount

被处理数据在文件access_2024-1-21.log(一个单词一行)中,内容如下:

复制代码
word
coutn
wm
sapce
US
china
WORD
WORD
wode
wode
1
2
3333
zzzz
space
spaceX
china
word

执行如下命令可以统计出每个单词出现次数:

复制代码
```bash
 awk '{S[$1]++}END{for(k in S) print S[k],k}' access_2024-1-21.log

结果如下:

root@Oler wm\]# awk '{S\[$1\]++}END{for(k in S) print S\[k\],k}' access_2024-1-21.log 1 spaceX 1 3333 1 zzzz 1 sapce 1 coutn 1 wm 1 space 1 1 1 2 2 china 2 wode 2 WORD 1 US 2 word 命令解释: 此处的S变量表示一个数组,该数组的索引为每个不重复的单词,值就是S\[$1\],$1代表单词那一列。awk是每都一行执行一次动作。 此处就是每读一行,同一个key对应的值就增加一。从0开始计算。当统计完,最后,也就是END对应的内容,就是循环打印出存储了统计结果的数组的key和值。

相关推荐
全栈游侠17 小时前
GT2933触摸驱动分析 - 初始化(续)
linux·笔记
DevGu17 小时前
Linux 子账户显示bash-4.25,不显示用户名
linux·运维·bash
A132470531217 小时前
curl命令入门:命令行测试接口
linux·运维·服务器·网络·编辑器·github·vim
回忆是昨天里的海17 小时前
docker网络-自定义网络
运维·docker·容器
晚风吹人醒.17 小时前
Awk文本处理工具:命令模式,脚本模式的介绍及正则表达式应用举例
linux·运维·服务器·awk
2401_8322981017 小时前
云边协同新范式:边缘云服务器如何重构实时业务体验
运维·服务器·重构
lbt_dvshare18 小时前
vim 常用技巧和实例
linux·编辑器·vim
飞函安全18 小时前
Mattermost限制历史消息访问:开源软件商业化困局
运维·安全·开源软件
阿拉伯柠檬18 小时前
传输层与传输层协议UDP
linux·网络·网络协议·面试·udp
你好helloworld18 小时前
linux离线安装nvidia-docker
linux·运维·服务器