欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 【linux基础awk】如何基于强大的awk打印列、计算

【linux基础awk】如何基于强大的awk打印列、计算

2024/10/24 4:51:51 来源:https://blog.csdn.net/weixin_55649639/article/details/129264310  浏览:    关键词:【linux基础awk】如何基于强大的awk打印列、计算

打印列

awk '{print $1}' test.txt#-F参数去指定分隔的字符
awk -F ","  '{print $1,$2}' file

匹配打印列

awk '/a/ {print $4 "\t" $3}' test.txt

 筛选数值

仅打印那些含有多于18个字符的行。awk 'length($0) > 18' test.txt

统计数目

#统计行数
less number.txt |awk 'END{print (NR)}'

打印符合条件的条数:统计第一列大于0的行有多少个。先读取数据,然后判断大于0,则变量num加1,最后打印符合条件的总数。

less number.txt |awk '$1>0{num=num+1}END{print "T01 expression >0:",num}' T01 expression >0: 9

计算

示例:基于plink计算  杂合度

awk 'NR!=1{print 1-$3/$5}'  plink.het > sample.het#筛选出杂合度大于15%的样本
#NR>1表示跳过第一行表头从第二行开始计算数值awk '$1>= 0.15'  sample.hetZawk 'NR!=1{print $2,"\t",1-$3/$5}'  plink.het
awk '$2>= 0.15'  sample.hetZ

求和

cat number.txt | awk '{sum+=$1} END {print sum}'

均值

cat number.txt | awk '{sum+=$1} END {print "AVERAGE:", sum/NR}'

最大值

cat number.txt |awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'

参考

AWK基本示例 -Awk教程

AWK 专家必备的12个技巧

https://www.cnblogs.com/gentlemanhai/p/12745728.html

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com