awk脚本学习一

实例文件:

1.23 45
fsd  34
1.4343	56
45	65
we 56
34.67

目标:

把第一列为浮点数的第二列求平均值

awk命令如下

  cat test| awk 'BEGIN{total=0;len=0}{if($1~/^[0-9]+\.[0-9]*/){total=total+$2;len=l+1}}END{print total/len}'

命令解释如下

1. awk [-参数 变量] 'BEGIN{初始化}条件类型1{动作1}条件类型2{动作2}END{最后输出}

2. $1~/^[0-9]+\.[0-9]*/表示$1与“/ /”里面的正则表达式进行匹配,若匹配,则total加上$1,且len自增,即数目加1.“^[0-9]+\.[0-9]*”是个正则表达式,“^[0-9]”表示以数字开头,“\.”是转义的意思,表示“.”为小数点的意思。“[0-9]*”表示0个或多个数字)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值