`
mesum
  • 浏览: 30779 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

awk 的使用

 
阅读更多
awk -F, '{sum+=$10}END{printf "sum=%.2f",sum}' B2B_BILLDLY201206120000.REC
awk -F, 'BEGIN {sum=0;sum1=0} {if($18==1){sum+=$13}else{sum1+=$13}}END{printf "sum=%.2f,sum1=%.2f\n",sum,sum1}' B2B_BILLDLY201206120000.OK.REC
awk -F, 'BEGIN{sum=0;sum1=0}{if($7==1){sum+=$3}else{sum1+=$3}}END{printf "sum=%.2f,sum1=%.2f\n",sum,sum1}' B2B_BILLDLY201206120000.CCI.OK
awk -F, '{sum+=$5}END{printf "sum=%.2f\n",sum}' B2B_BILLDLY201206120000.DI.OK
 

说明:

  1. -F :指定分隔符,如 逗号,分号等,当分隔的字符串超过一个时,可以用‘’ 引号给标明界线
  2. {sum+=$10} : sum是来做加和的变量的。循环将每行的第10个域的值累加到sum上。ps:awk的下标是从1开始的。
  3. END{printf "sum=%.2f",sum} : 结束后将sum的结果表示出来。至于 printf 的格式可以参考c语言的格式串。
  4. 举例

 

'BEGIN {sum=0;sum1=0} {if($18==1){sum+=$13}else{sum1+=$13}}END{printf "sum=%.2f,sum1=%.2f\n",sum,sum1}'
  用伪代码来表示一下
sum =0;
sum1=0;

if($18 ==1)
	sum += $13
else
	sum 1+= $13
end if

printf  "sum=%.2f,sum1=%.2f\n",sum,sum1
 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics