awk工具统计分析

本文介绍了awk在Linux中的应用,通过案例展示了如何使用awk统计特定渠道的消费总金额、对消费金额进行排序以及按渠道分类。案例数据包含用户ID、时间戳、渠道和消费金额,awk通过管道连接其他基础工具如sort和uniq实现数据处理。

序言

awk在linux中作为一个基础工具,凭借着出色的能力在数据统计分析中占据了一席之地,用过的都觉得其不愧为linux三剑客最强。awk处理文本内容是以行为单位处理的,所以一般处理数据都是按行去分析的。使用awk可以命令、脚本方式执行。本文重点在于介绍应用案例,案例中使用到的都是linux自带的基础工具。

数据文本

一下是案例使用的数据文本 data.txt,我们定义符号 | 分割的数据依次代表:用户id、时间、渠道、消费金额。

13846|1687008701268|yyb.ebay.201000|188.0
18613|1687008786538|vivo.ebay.201030|688.0
17050|1687008746798|ios.ebay.201010|9.98
13511|1687008269224|ios.ebay.201010|88.8
12402|1687008622715|ios.ebay.201010|688.0
14754|1687008181553|ios.ebay.201010|368.0
18177|1687008469470|oppo.ebay.201040|9.98
13453|1687008088868|vivo.ebay.201030|188.0
11548|1687008054814|oppo.ebay.201040|88.8
15125|1687008212323|ios.ebay.201010|188.0
15838|1687008292587|huawei.ebay.201020|88.8
19536|1687008677144|huawei.ebay.201020|88.8
10813|1687008643930|oppo.ebay.201040|688.0
17536|1687008456116|vivo.ebay.201030|88.8
12672|1687008501284|oppo.ebay.201040|188.0
17488|1687008472683|huawei.ebay.201020|9.98
15166|1687008094764|huawei.ebay.201020|9.98
14739|1687008790329|ios.ebay.201010|688.0
19542|1687008172983|oppo.ebay.201040|368.0
15404|1687008867104|yyb.ebay.201000|368.0

案例

统计

统计渠道为 huawei.ebay.201020 的消费总金额
cat data.txt | awk -F| ‘BEGIN{sum=0}{if($3==“huawei.ebay.201020”)sum+=$4}END{print sum}’
统计示例
根据数据对比结果,是一致的。
命令解释:通过cat读取data.txt文件,将结果作为awk的输入用于分析,-F 指定分割符为|,需要转义 | ,

排序

以金额为基准从大到小排序
cat data.txt | awk -F| ‘{print $4}’ | sort
排序

分类

按照渠道分类,看有几个渠道消费
cat data.txt | awk -F| ‘{print $3}’ | sort | uniq
排序分类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值