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

相关推荐
梦奇不是胖猫1 分钟前
[ 计算机网络 | 第四章 ] 网络层 02 网际协议IP
运维·服务器·网络·网络协议·tcp/ip·计算机网络
Wonderful U1 分钟前
基于Python+Django+psutil的轻量化服务器自动化监控平台实战
服务器·python·django
蜀道山老天师2 分钟前
Docker安装配置全教程(含银河麒麟服务器部署+镜像加速)
运维·docker·容器
愿天垂怜2 分钟前
【C++脚手架】etcd 的介绍与使用
java·linux·服务器·c语言·c++·中间件·etcd
春生野草7 分钟前
Socket、Servlet、Tomcat
运维·服务器·网络
kvnew7 分钟前
Ubuntu 26.04 一键安装/修复拼音输入法fcitx5+Rime
linux·运维·ubuntu
Komorebi_99997 分钟前
Day3:监控、日志、限流、成本管控、版本灰度
大数据·运维·人工智能·大模型
ITyunwei09878 分钟前
运维团队如何抓住AI?
大数据·运维·人工智能
小则又沐风a8 分钟前
进程篇: 进程概念的补充(了解环境变量和虚拟地址空间)
linux·运维·服务器·c++
艾莉丝努力练剑8 分钟前
【Linux网络】Linux 网络编程:传输层协议TCP(五)
linux·运维·网络·计算机网络·udp