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 Sk,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和值。

相关推荐
吹什么轩4 分钟前
linux系统复习:僵尸进程与孤儿进程
linux·运维·php
张宇Joaquin18 分钟前
AMD uProf 工具采集微架构特征使用介绍
服务器
殷忆枫38 分钟前
告别依赖地狱!在 Ubuntu 上用 Docker 极速部署 Home Assistant 与 MQTT,并接入 Siri 与嵌入式 C 终端
linux·ubuntu·docker
第404号工位1 小时前
手机到底有没有偷听我们?我抓包了 72 小时,抓到了真凶
linux·人工智能·架构
老李IT笔记1 小时前
连不上不一定是网不好:新系统不认的服务端配置卡在哪一档
运维·服务器·网络
字节跳动开源1 小时前
ByteDance 2026 上半年 Linux 内核贡献回顾
linux·开源
小此方1 小时前
Linux网络(二十八):从NAT转换到正反向代理:图解内网通信、NAPT端口映射
linux·运维·网络
刚入门的大一新生1 小时前
Linux-进程池
linux·运维·服务器
数据库小学妹2 小时前
数据库运维五级成熟度:监控、备份、高可用怎么串起来
运维·数据库·监控
AliCloudROS2 小时前
从 1 万到 20 万:OOS Loop 任务规模提升 20 倍的攻坚记录
运维·性能优化