AWK实现求和、平均数、最小值、最大值

1.简单的按列求和
]$ cat test
123
125
126
]$ awk ‘{sum += $1}END {print sum}’ test
2.对符合某些条件的行,按列求和
]$ cat  test
aaa 123
bbb 125
aaa 123
aaa 123
ccc 126
对文件test中 第一列为aaa的行求和
]$ awk ‘/aaa/ {sum += $2}END {print sum}’ test
3.简单的求平均值
]$ cat  test
aaa 123
bbb 125
aaa 123
aaa 123
ccc 126
]$ awk ‘{sum+=$2}END{print “AVG”,sum/NR}’ text
4. 对符合某些条件的行,按列求平均数
]$ cat  test
aaa 123
bbb 125
aaa 123
aaa 123
ccc 126
对文件test内的aaa求平均数
]$ awk ‘/^aaa/{sum+=$2;i+=1}END{print “AVG”,sum/i}’ text
5.求最大值(max的初始值设置成为一个很小的数即可)
cat data|awk ‘BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print “Max=”, max}’
6.求最小值(min的初始值设置一个超大数即可)
awk ‘BEGIN {min = 1999999} {if ($1<min) min=$1 fi} END {print “Min=”, min}’

原创文章,作者:chenxu@magedu.com,如若转载,请注明出处:http://www.178linux.com/73001

(2)
chenxu@magedu.comchenxu@magedu.com
上一篇 2017-04-09 19:34
下一篇 2017-04-09 20:08

相关推荐

  • 进程管理,计划任务(2)

    二、作业管理     Linux的作业控制         前台作业:通过终端启动,且启动后一直占据终端;         后台作业:可通过终端启动,但启动后即…

    Linux干货 2016-09-18
  • iptables/netfilter从入门到进阶(Blog 17)

    博客作业:iptables/netfilter入门到进阶;

    2017-12-20
  • yum命令的使用及磁盘管理中命令的使用方法(mkfs ,blkid,e2label等)

    yum      #cd /etc/yum.repos.d          #yum repolist(在 #cd下)其他命令在 #cd /etc/yum.repos.d运行          #yum-config-manag…

    2017-08-19
  • 第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit :%s@^[[:space:]]\+[^[:space:]]@#&a…

    Linux干货 2017-02-26
  • shell编程之数组及环境变量

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的 集合 索引:编号从0 声明数组: declare -a ARRAY_NAME declare -A ARRAY_NAME:关联数组 1.declare  -a menu  menu[0]=beef  menu[1]=chicken menu…

    Linux干货 2016-08-29
  • grep的用法

    grep的用法 1、复制/etc/skel目录为/home/tuser1及其内容文件的属组和其它用户均没有任何访问权限。 cp -R /etc/skel /home/thuser1 #复制文件/etc/skel 到/home/目录下并改名为thuser1 chmod -R 700 /home/thuser1 #更改/home/thuser1目录权限为属主全部…

    Linux干货 2017-07-23