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

相关推荐
机器视觉知识推荐、就业指导31 分钟前
Qt 小技巧:如何用 Q_PROPERTY 管理属性
服务器·数据库·qt
星辰&与海41 分钟前
操作系统引导过程
服务器
比奇堡派星星43 分钟前
Linux OOM Killer
linux·开发语言·arm开发·驱动开发
张心独酌1 小时前
Rust开发案例库-静态服务器
服务器·开发语言·rust
起个名字费劲死了1 小时前
QT + Socket 客户端/服务端 公网通讯
服务器·c++·qt·socket
@22061 小时前
银河麒麟系统离线环境下用docke方式部署(Postgres、Nginx、Redis、JDK)
运维·数据库·redis·nginx
wifi chicken1 小时前
Linux 内核开发之单链表的增删查改详解
linux·数据结构·链表
小蜗的房子2 小时前
Oracle 19C RAC Public IP单网卡改为bond模式操作指南
运维·网络·数据库·sql·tcp/ip·oracle·oracle rac
jiuri_12152 小时前
深入理解 Linux 内核同步机制
linux·内核
HarmonLTS2 小时前
Python Socket网络通信详解
服务器·python·网络安全