[转帖]Linux中awk命令正确的求最大值、最小值、平均值、总和

linux,awk,命令,正确,最大值,最小值,平均值,总和 · 浏览次数 : 0

小编点评

**最大值:** 118 **最小值:** 9 **和:** 236 **平均值:** 39.3333 **最大值(错误的求法):** 9 **最小值(错误的求法):** 11 **最大值(正确的求法):** 118

正文

https://blog.csdn.net/fireblue1990/article/details/51622416

test.txt文件内容:
9
11
35
21
42
118


求最大值:

awk 'BEGIN {max = 0} {if ($1+0 > max+0) max=$1} END {print "Max=", max}' test.txt
Max= 118


求最小值:

awk 'BEGIN {min = 65536} {if ($1+0 < min+0) min=$1} END {print "Min=", min}' test.txt
Min= 9


求和:

cat test.txt|awk '{sum+=$1} END {print "Sum= ", sum}'
Sum=  236


求平均值:

cat test.txt|awk '{sum+=$1} END {print "Avg= ", sum/NR}'
Avg=  39.3333


求最大值(错误的求法):
cat test.txt|awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'
Max= 9

求最小值(错误的求法):
cat test.txt|awk 'BEGIN{min = 65536}{if ($1<min) min=$1 fi}END{print "Min=", min}'
Min= 11

求最大值(正确的求法):
cat test.txt|awk 'BEGIN {max = 0} {if ($1+0>max+0) max=$1 fi} END {print "Max=", max}'
Max= 118

求最小值(正确的求法):
cat test.txt|awk 'BEGIN{min = 65536}{if ($1+0<min+0) min=$1 fi}END{print "Min=", min}'
Min= 9




awk默认按照字符串比较的,如果要比较数值,需要先强制类型转换,即 $1+0,转换成整数。


Reference:

          http://xfeng.me/awk-get-max/

          http://www.ahlinux.com/shell/4072.html

          http://www.bkjia.com/LINUXxt/956509.html


文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux实用命令awk命令31512 人正在系统学习中

与[转帖]Linux中awk命令正确的求最大值、最小值、平均值、总和相似的内容:

[转帖]Linux中awk命令正确的求最大值、最小值、平均值、总和

`https://blog.csdn.net/fireblue1990/article/details/51622416` test.txt文件内容: 9 11 35 21 42 118 求最大值: awk 'BEGIN {max = 0} {if ($1+0 > max+0) max=$1} EN

[转帖] Linux命令拾遗-文本处理篇

https://www.cnblogs.com/codelogs/p/16060413.html 简介# 这是Linux命令拾遗系列的第二篇,本篇主要介绍Linux中与文本处理相关的命令,如xargs、grep、sed、awk等。 本系列文章索引Linux命令拾遗-入门篇 常用文本相关命令# cat

[转帖]Linux下AWK、SED、GREP、FIND命令详解

https://www.jianshu.com/p/d54e0359db01 AWK AWK是一个优良的文本处理工具,Linux和Unix环境中现有的功能最强大的数据处理引擎之一。 语法 awk [选项参数] 'script' var=value file(s) 或 awk [选项参数] -f sc

[转帖]Linux文本处理三剑客之awk学习笔记05:getline用法详解

https://www.cnblogs.com/alongdidi/archive/2021/01/19/awkGetline.html getline用法详解 在默认情况下,awk支持从文件或者STDIN中读取数据。我们也可以使用getline来灵活读取数据,例如在main代码块执行过程中读取某个

[转帖]Linux文本处理三剑客之awk学习笔记05:getline用法详解

https://www.cnblogs.com/alongdidi/p/awkGetline.html getline用法详解 在默认情况下,awk支持从文件或者STDIN中读取数据。我们也可以使用getline来灵活读取数据,例如在main代码块执行过程中读取某个非待处理文件的数据,或者从某个读取

[转帖]【Linux学习】awk内置函数详细介绍(实例)

https://www.cnblogs.com/gtea/p/12668736.html 这节详细介绍awk内置函数,主要分以下3种类似:算数函数、字符串函数、其它一般函数、时间函数 一、算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y, x )

[转帖]linux学习:sed与awk与tr用法整理

https://www.cnblogs.com/LO-gin/p/6882490.html 流编辑器:sed 语法:sed [-hnV][-e

[转帖]Shell三剑客之awk

目录 awk简述awk的工作过程awk的工作原理awk的基本格式及其内置变量getline文本内容匹配过滤打印对字段进行处理打印条件判断打印awk的三元表达式与精准筛选用法awk的精准筛选:awk的分隔符用法指定输出的分隔符awk结合数组运用面试题 awk简述 在 Linux/UNIX 系统中,aw

[转帖]Linux中常见IO调度器

https://www.jianshu.com/p/3c16e39a005a 单队列调度算法多队列调度算法 deadline mqdeadlines cfq bfq noop none kyber 对于磁盘I/O,Linux提供了cfq, deadline和noop三种调度策略 cfq: 这个名字是

[转帖]Linux中的grep -v、-e、-E用法小结

https://www.jb51.net/article/266590.htm grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,这篇文章主要介绍了Linux之grep -v、-e、-E用法总结,需要的朋友可以参考下 + 目录 简介 grep (global sea