awk用法(三)
知识点一:
NR行数,NF段数
1、#awk -F ‘:‘ ‘NR==10‘ 1.txt 【行数是第10行的】
2、#awk -F ‘:‘ ‘NR==10 {print $1,$7}‘ 1.txt 【只打印出第10行中的第1段和第七段】
3、#awk -F ‘:‘ ‘{if(NR==10) print $1,$7}‘ 1.txt
#awk -F ‘:‘ ‘OFS="#" {if(NR==10) print $1,$7}‘ 1.txt
以上三点截图如下:
4、#awk -F ‘:‘ ‘{print NF}‘ 1.txt
截图如下:
注意:上条命令的行数等于文档1.txt的行数,截图如下:
#awk -F ‘:‘ ‘{print NR}‘ 1.txt
截图如下:
#awk -F ‘:‘ ‘{print $NR}‘ 1.txt
截图如下:
#awk -F ‘:‘ ‘{print $NF}‘ 1.txt == awk -F:‘{print $7}‘ 1.txt
5、awk -F ‘:‘ ‘{if(NF==7) print $1}‘ 1.txt
内置变量一共介绍了3种,OFS,NF,NR
知识点二:数学运算
1、#awk -F ‘:‘ ‘$7=$3+$4‘ 1.txt 【给第七段赋值为第三段加第四段的值】
注意:当显示的文档发生改变时,默认以空格为分隔符!
指定分隔符格式:
#awk -F ‘:‘ ‘OFS=":" {$7=$3+$4;print $0}‘ 1.txt
2、#awk -F ‘:‘ ‘{sum=sum+$3}; END {print sum}‘ 1.txt
#awk -F ‘:‘ ‘{(sum=sum+$3)}; END {print sum}‘ 1.txt
两式结果相同,都是计算第三段数值相加的总和,上述命令是循环计算!
本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1909497
原文地址:http://wutengfei.blog.51cto.com/10942117/1909497