首页 > 其他分享 >awk常用的几条命令组合

awk常用的几条命令组合

时间:2023-01-12 11:09:30浏览次数:51  
标签:几条 组合 aSUM print test awk bSUM cSUM


前言

最近在生产上查问题,也是练就了一下awk的命令。
生产上的数据安全性要求比较高,一般要拿到测试环境都需要脱敏,但是脱敏的数据会有很多程序上的不适应。
所以有时候查询问题,查询一条消费记录,可能是要在上百万的数据中找到,并分析异常原因。awk、grep 都是经常用到的,基本上有时候还要在命令行写shell代码,熟能生巧,多敲几遍,也是能很快速熟练掌握的。
其实建议大家学习的是一种思路,而不是死记命令,年纪大了,也记不住那么多命令了,/捂脸

测试文件test.txt

a|b|c|d|1|sdsds
a|b|c|d|2|sdsds
s|b|c|d|3|sdsds
d|b|c|d|43|sdsds
c|b|c|d|1|sdsds
a|b|c|d|2|sdsds
d|b|c|d|5|sdsds

awk查看一条记录

#$0 是代表一整行的记录 $1代表以空格界的第一行信息,这样看到的是全部的记录
awk '{print $0}' test.txt
awk '{print $1}' test.txt

如果不太理解的话,可以试试test.txt换成下面案例

a|b|c|d|1|sdsds iisddwe  wew
a|b|c|d|2|sdsds i sddsd
s|b|c|d|3|sdsds sdsd
d|b|c|d|43|sdsds
c|b|c|d|1|sdsds
a|b|c|d|2|sdsds
d|b|c|d|5|sdsds

awk以分隔符查找数据

#以"|"分割数据,输出1,2,3,4行数据
awk -F"|" '{print $1,$2,$3,$4}' test.txt

awk以分隔符拆分数据, 求特定列数据计算

#求第5列的数据之和
awk -F"|" 'BEGIN{SUM=0}{SUM=SUM+$5} END {print SUM}' test.txt

awk以分隔符拆分数据,求特定列数据计算,添加if条件判断

#根据不同条件获取不同条件的和
awk -F"|" 'BEGIN{aSUM=0;bSUM=0;cSUM=0}{if( $1 == "a") aSUM=aSUM+$5;else if( $1 == "b") bSUM=bSUM+$5;else cSUM=cSUM+$5} END{print aSUM,bSUM,cSUM}' test.txt

如果有两三个文件需要一起求和,那么我们可以在上面的语句中添加 文件即可

awk -F"|" 'BEGIN{aSUM=0;bSUM=0;cSUM=0}{if( $1 == "a") aSUM=aSUM+$5;else if( $1 == "b") bSUM=bSUM+$5;else cSUM=cSUM+$5} END{print aSUM,bSUM,cSUM}' test.txt test1.txt test2.txt

awk处理两个文件中相同部分内容, 此内容可以是相同的一行,也有可能是拼接出来的一个key值,两文件比较输出结果文件

待续…


标签:几条,组合,aSUM,print,test,awk,bSUM,cSUM
From: https://blog.51cto.com/u_15939105/6003837

相关文章

  • awk --help
    最近在使用linux的awk命令,感叹其强大之处,在文本操作上的便利支持,让在对数百万流水明细操作如鱼得水,先贴出来awk的man,接下来再细致记录常用命令。awk--help>awk.txt======......
  • 56、文本处理工具-awk
    awk工作原理awk/gawk实现下面功能:文本处理、输出格式化的文本报表、执行算术运算、执行字符串操作格式:awk[option]'program'var=valuefile...awk[option]-fprogramfi......
  • Redux与前端表格施展“组合拳”,实现大屏展示应用的交互增强
    Redux是JavaScript状态容器,提供可预测化的状态管理。它可以用在react、angular、vue等项目中,但与react配合使用更加方便一些。Redux原理图如下,可以看到store仓库......
  • Redux与前端表格施展“组合拳”,实现大屏展示应用的交互增强
    Redux是JavaScript状态容器,提供可预测化的状态管理。它可以用在react、angular、vue等项目中,但与react配合使用更加方便一些。Redux原理图如下,可以看到store仓......
  • 【学习笔记】组合数
    fac数组是阶乘,inv是阶乘逆元,都是modp意义下的组合数\(\binom{n}{m}=\frac{n!}{m!(n-m)!}\),所以要求逆元费马小定理\(a^{p-1}\equiva^p-1\equiv1\pmodp\),\(aa^{p-2}=a......
  • 40. 组合总和 II
    40.组合总和II难度中等1200给定一个候选人编号的集合candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数......
  • awk(一) 基本操作符
    $0       表示整个当前行$1       每行第一个字段NF            字段数量变量NR      每行的记录号,多文件记录递增......
  • 39. 组合总和
    39.组合总和难度中等2302收藏分享切换为英文接收动态反馈给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数......
  • 225. 多重集组合数(挑战程序设计竞赛)
    地址https://www.papamelon.com/problem/225有n种物品,第i种物品有a_i个。不同种类的物品可以互相区分但相同种类的无法区分。从这些物品中取出m个物品的话,有多少......
  • 读编程与类型系统笔记03_组合
    1. 复合类型1.1. 乘积类型1.2. 组合一个或多个类型将得到一个新类型,其值为组成类型的全部可能的组合1.3. 元组1.3.1. 一组类型构成,通过它们在元组中的位置可以访......