Linux常用基本命令:三剑客命令之-awk模式用法(1)

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

 

posted @ 2018-05-27 07:56 ghostwu 阅读(...) 评论(...) 编辑 收藏
Copyright ©2017 ghostwu