zoukankan      html  css  js  c++  java
  • awk的求和计算使用;awk多个分隔符如何使用?

    1、对于下图,如何使用awk求所有各列的和

       

    和:175 16 78 19

    方法:awk '{for(n=1;n<=NF;n++)t[n]+=$n}END{for(n=1;n<=NF;n++)printf t[n]" ";print" "}'

    2、求某一列的和:

    [linux@test /tmp]$ awk '{sum += $1};END {print sum}' test
    

    3、求某一列满足某些条件的和:

    [linux@test /tmp]$ awk '/aaa/ {sum += $2};END {print sum}' test

    举例:对于
    11 1 32 3
    12 2 33 4
    43 3 2  1
    12 2 2  2
    43 3 3  3
    54 5 6  6
    使用 awk '/12/ {sum += $2};END {print sum}' 结果为4。含义----求满足每行里有字符12的所有第二列的和

    4、比较完整的一个例子:
    awk -F ','  'BEGIN{sum=0 ;count=0}{if ($(NF-11) == 2 && $NF == 0 && $3 == "1.6.1_1_1") {sum +=$5; count++;} } END {print "sum="sum" count="count " avg="sum/count}'

    说明:
    BEGIN{sum=0 ;count=0} 初始化计数器;
    END {print "sum="sum" count="count " avg="sum/count} 打印汇总,计数器和均值;
    if ($(NF-11) == 2 && $NF == 0 && $3 == "1.6.1_1_1") {sum +=$5; count++;} 判断倒数第11个字段,判断倒数第一个字段,判断第三个字段(字符串) 第五个字段汇总累加,计数器累加

    $NF 可用来表示一个记录的最后一个栏位

    NF表示当前行的字段数,$0表示当前行

    关于多个分割符号:

    1、awk -F ',' 表示使用逗号多分隔符   

    2、awk -F 'AB' 表示使用符号AB做分隔符 echo ABCDABDDCADAFB  | awk -F 'AB' '{for(i=1;i<=NF;i++)printf $i" "}'输出 CD DDCADAFB

    3、awk -F '[AB]' 表示使用A或者B做分隔符,就是遇到字符A或者B都分割 echo ABCDABDDCADAFB  | awk -F '[AB]' '{for(i=1;i<=NF;i++)printf $i" "}' 输出  CD  DDC D F

    4、awk -F '[\|]' 表示使用符号‘|’做分隔符,这里有两层转义,先转义\,然后转义|。

    5、echo "ABC|DAB|DD CA DAFB"  | awk -F '[ \|]' '{for(i=1;i<=NF;i++)printf $i" "}' 输出 ABC DAB DD CA DAFB

    6、print打印会换行,printf打印不换行

    参考:

    数学计算:

    1、http://bbs.chinaunix.net/thread-3558406-1-1.html

    2、https://www.chedong.com/blog/archives/000682.html

    3、https://blog.csdn.net/bright_mac/article/details/3419419

    4、https://www.ibm.com/developerworks/cn/linux/l-cn-awkinwork/index.html

    分隔符:

    1、http://blog.51cto.com/jschu/1770467

    2、http://www.cnblogs.com/aquastar/archive/2012/10/07/2776208.html

  • 相关阅读:
    使用blend制作地图区域改变颜色动画效果
    使用Win32创建串口通讯程序[转]
    ArcGIS的网络分析【转】
    推荐10款非常优秀的 HTML5 开发工具[转]
    Win32串口编程(转:韩耀旭)
    软件项目版本号的命名规则及格式介绍【转】
    [ArcGIS+Win7][转]安装ArcGIS后打开"打开或关闭 Windows 功能"一片空白解决方案
    js判断客户端是否安装了activex控件[转帖]
    纪念失去的爱情(抒情诗)
    委托事件之买烟
  • 原文地址:https://www.cnblogs.com/shengulong/p/9084148.html
Copyright © 2011-2022 走看看