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

以上三点截图如下:

awk用法(三)_awk

4、#awk -F ':' '{print NF}' 1.txt

截图如下:

awk用法(三)_linux_02

注意:上条命令的行数等于文档1.txt的行数,截图如下:

awk用法(三)_分隔符_03

  #awk -F ':' '{print NR}' 1.txt

截图如下:

awk用法(三)_awk_04

  #awk -F ':' '{print $NR}' 1.txt

截图如下:

awk用法(三)_linux_05

  #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

  两式结果相同,都是计算第三段数值相加的总和,上述命令是循环计算!