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

相关推荐
gongfeng300017 分钟前
福州企业级AI自动化获客解决方案品牌梳理与适用场景分析
运维·人工智能·自动化·g-claw ai员工
码农客栈26 分钟前
linux 交叉编译tslib
linux
鱼月半1 小时前
两台电脑直连网络不通怎么办?
linux·网络协议
光电笑映2 小时前
网络通信基础:从协议分层到 Socket 编程预备
linux·运维·服务器·网络
酸菜。2 小时前
dw_apb_gpio总结
linux
wunaiqiezixin2 小时前
MIT 6.S081 file system 实验篇(lab9):Large files (moderate)
linux·unix·os·xv6·mit6.s081
GeW3 小时前
RHCE 考试通过率提升:核心考点、实验环境与排错技巧
linux
微小冷3 小时前
用Mermaid画时序图
运维·流程图·时序图·mermaid·生命线
其实防守也摸鱼3 小时前
Codex 下载与本地部署实战:从安装到运行全指南
android·大数据·运维·安全·自动化
wdfk_prog3 小时前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros