再次回顾一下,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