awk具体的请看这个

https://www.cnblogs.com/bwbfight/p/9402738.html

awk 竟然自诩一种语言,ok.... 牛

既然这样就学习一下吧

awk -F‘[指定多个分隔符]’

比如 awk -F'[ :]'表示指定:空格为分隔符

涉及多个重复分割符可以这样指定 awk -F'[ :]+' 表示多个空格或者多个:号表示一个整体

例子

获取ip:

awk----基本用法

 

 

NF(number of field)字段数:

如果字段数不一样如何取最后一个字段呢?

如下例子

awk----基本用法

这里引入一个FNR

 

awk----基本用法

上面表示如果NR和FNR相等,显然打印test.txt(NR顺序计数,FNR分别计数),不等打印test1.txt

FNR在多文件时会分别统计行数,NR则是一起统计

 awk----基本用法

打印指定行

打印第三行 awk 'NR==3{ print $0}' test.txt

awk 模式

awk 'true/false{行为}true/false{行为}'

awk '0{print $1}' test.txt =====结果一行也不打印

awk '1{print $1}' test.txt =====结果全部打印

awk 'NR==3{print $1}' test.txt====打印第三列

awk 'NR==2{print $1} NR==3' test.txt===打印第二三列

awk 'BEGIN{pint “-----start--------”}NR==1{print $0 }END{print '-----end----------------'}' test.txt

 

awk计算

awk '{a+=$1}END{print $1} '  a.txt ===把a.txt第一列加起来,并打印结果

awk '{a=$1+$2+$3;print a,int(a/3)}'  a.txt====把a.txt的每一行第一列,第二列,第三列加起来求平均值

awk变量

在shell外边定义的变量,如何在awk中使用呢?

a=1

awk -va=$a '{print a}'

awk ‘{print '$a'}’

以上为获取bash上变量的值在awk中使用的方法

-v 定义变量

awk -va=1 '{print $a}'

awk '{a=1;print a}'

awk----基本用法

 

 awk for循环

awk----基本用法

 awk 正则表达式

取ip

awk----基本用法

这种awk不支持

awk----基本用法

 

 

获取test.txt第一列和test1.txt的第二列写入文件

awk----基本用法

 

方法二:

awk----基本用法

 

 

 

取 df -h中USe%列的和

awk----基本用法

实现只打印前六行

awk----基本用法

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-08
  • 2022-12-23
  • 2021-12-19
  • 2021-10-19
  • 2022-12-23
猜你喜欢
  • 2021-08-06
  • 2021-06-07
  • 2022-12-23
  • 2021-10-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案