再次回顾一下,awk基本语法格式:

awk [options] 'Pattern {Action}' file1 file2 ···

之前的文章有讲过两种Pattern(BEGIN, END),本文,再次探讨其他的pattern(模式)用法。

模式是什么? 模式是一种匹配条件,满足条件,就执行后面的动作。

1,没有任何pattern的用法,称之为空模式

ghostwu@dev:~/linux/awk$ awk '{print}' ghostwu.txt 
ghostwu 20 man
zhangsan 22
lisi

2,通过内置变量NF, 打印列等于3的行

ghostwu@dev:~/linux/awk$ cat ghostwu.txt 
ghostwu 20 man
zhangsan 22
lisi
ghostwu@dev:~/linux/awk$ awk 'NF==3{print}' ghostwu.txt 
ghostwu 20 man

 3,也可以通过关系运算符,关系运算符,跟大多数编程语言类似:

ghostwu@dev:~/linux/awk$ cat ghostwu.txt 
ghostwu 20 man
zhangsan 22
lisi
ghostwu@dev:~/linux/awk$ awk '$1=="ghostwu"{print}' ghostwu.txt 
ghostwu 20 man
ghostwu@dev:~/linux/awk$ awk 'NF>1"{print}"' ghostwu.txt 
ghostwu 20 man
zhangsan 22

4,之前介绍的BEGIN, END模式

ghostwu@dev:~/linux/awk$ awk 'BEGIN{print "姓名", "年龄", "性别"} {print $1, $2, $3} END{print "包青天", 200, "man"}' ghostwu.txt 
姓名 年龄 性别
ghostwu 20 man
zhangsan 22 
lisi  
包青天 200 man

 

相关文章:

  • 2021-12-08
  • 2022-12-23
  • 2021-10-27
  • 2021-05-27
  • 2022-12-23
  • 2022-03-03
  • 2022-01-26
猜你喜欢
  • 2021-08-18
  • 2021-10-28
  • 2022-01-30
  • 2021-12-25
  • 2021-11-22
  • 2021-11-12
  • 2021-10-17
相关资源
相似解决方案