添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
风流的板栗  ·  香港閱讀城·  1 年前    · 
考研的台灯  ·  OH 3.3.0 Frontail not ...·  1 年前    · 
知识渊博的斑马  ·  Excel ...·  2 年前    · 
自信的胡萝卜  ·  Nosql-neo4j-Cypher 语句 ...·  2 年前    · 

awk版本
awk用一行代码就可以解决问题,像这样(注意耗时):
在这里插入图片描述

至此,我们可以看出,awk代码简单,但是性能却不差!在同样的机器上处理同样的文件,awk的运行时间是Python的一半左右,是R的大概十分之一。 可以说,awk已经非常快了 !

C版本
都说C快,让我们看看到底有多快。代码如下:
在这里插入图片描述

可以看出,C的版本也仅比awk的稍快一点点。但是,C的代码复杂多了!由此,我们可以粗略比较出awk是一个非常完美的文本处理工具!

如果有任何问题,欢迎交流!

(公众号:生信了)
在这里插入图片描述

例题:给出8行值,要 求 求 出8行 平均值 的 平均值 ,和列出8行中最大值的最大值。如此就 求 出了8行数字的 平均值 和最大值,是不是很简单?1 平均值 :57.7025,最大值:81.5。2 平均值 :57.1077,最大值:79.8。3 平均值 :57.6491,最大值:81.6。4 平均值 :58.2071,最大值:81.9。5 平均值 :57.1034,最大值:83.6。6 平均值 :57.5858,最大值:83.3。7 平均值 :57.8051,最大值:86.7。8 平均值 :57.5063,最大值:83.0。$NF 打印最后 一列 。 本文链接:https://blog.csdn.net/wyqwilliam/article/details/825600431、 求 和cat data| awk '{sum+=$1} END {print "Sum = ", sum}'2、 求 平均cat data| awk '{sum+=$1} END {print "Average = ", sum/NR}'3、 求 最大值cat data|aw... cat mytest.txt| awk ‘{sum+=$1}END{print "Average = ",sum/NR}’ > output.txt # 求 最大值 cat mytest.txt| awk ‘BEGIN {max = 0} {if ($1+0 > max+0) max=$1} END {print “Max=”, max}’ >> output.txt #test.txt文件内容: 0.98008990 0.38389489 0.61610511 0.97206704 0.10028277 0.50441934 0.49558066 0.9743... 文章目录写在前面 awk 求 平均值 awk 求 最大值 awk 求 最小值 awk 求 极值、均值的实际应用 awk 命令 求 极值和均值需要熟悉该命令的基本用法,如果你不熟悉该命令,请先阅读shell脚本之 awk 命令——分隔符介绍一文。本篇博文带你熟悉 求 平均值 、最大值、最小值的方法,并以实际的应用带你进一步掌握 awk 的高级用法。 以下为 求 平均值 、最大值、最小值用到的文件data,使用cat data查看内容为 awk 求 平均值 awk '{su $ cat /tmp/hoge.data 2011-01-13 18:47:46 WARN HogeHoge - getData 180 2011-01-13 18:47:46 WARN HogeHoge - getData 485 2011-01 [root@master yjt]# cat yjt.sh #!/bin/bash awk -v field="$1" '{sum+=$field; n++;}END {if (n > 0) print sum/n;else {print 'error' > "/tmp/.stderr"; exit 1};}' tt [root@master yjt]# cat tt1 2 31... 执行方法 awk ‘BEGIN{system(“shell命令)}’ 就行 [root@CHSHA-CT-WWW-249 ~]# awk ‘BEGIN{system(“hostname”)}’ CHSHA-CT-WWW-249.360buy.com [root@... awk 'BEGIN {min = 65536} {if ($1+0 < min+0) min=$1} END {print "Min=", min}' test.txt Min= 9 取列最大值: awk '{max=max&gt;$0?max:$0}END{print max}'格式化第三列并保留两位小数输出: awk '{ printf "%.0fG\n",$3/1024/1024/1024 }' 求 和并计算 平均值 : awk '{ sum += $2 ; average = sum/NR} END { printf "%.2fG\n", average}'例如有文件内容如下图... if test -f $file avg=` awk '{if (NR>1) for(i=1; i<=NF; i++) {a[i]+=$i; b[i]++}}; END {for(i=1; i<=NF; i++) printf "%f%s", a[i]/b[i], (i==NF?ORS:OFS)}' $file` echo $file. AWK 实用工具带有其自己的自包含语言,它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母)的最大功能取决于一个人所拥有的知识。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报 ...