模式匹配,示例文件还用上一篇的那个
引用
$ cat file2
First Name, Last Name, age
Barack,Obama,50
字段1,字段2,44
Michelle,Obama,50
Nonsense,Obamani,11
找出含有Obama的行并打印
引用
awk '$0 ~ /Obama/{print}' file2
Barack,Obama,50
Michelle,Obama,50
Nonsense,Obamani,11
~是模式匹配的操作符,要匹配的模式用//包起来,默认是对整行,也就是$0做匹配,默认的操作就是打印,所以这个命令可以简写为
引用
awk '/Obama/' file2
Barack,Obama,50
Michelle,Obama,50
Nonsense,Obamani,11
现在我只想精确的匹配姓Obama的,而不想找出Obamani这个干扰项,那可以用两个==做精确匹配
引用
awk -F, '$2=="Obama"' file2
Barack,Obama,50
Michelle,Obama,50
精确匹配的时候,如果是字符串,字符串要用双引号包起来,如果是数字,可以包也可以不包。
也就是说下面这两个操作是等效的
引用
awk -F, '$3=="50"' file2
awk -F, '$3==50' file2
模式就是正则表达式可以写的复杂一些,比如用|来连接多个条件,用^和$指定开头结尾。还可以用!~来表示不匹配后面的模式。对于值为数字的列,还可以用>,>=,<,<=等比较符。模式操作还可以有多个,用&&和||表示与和或。比如下面这样
引用
awk -F, '$2~/Obama/ && $3>=50' file2
Barack,Obama,50
Michelle,Obama,50
分享到:
相关推荐
awk 是一门编程语言,它的基本操作是在一组文件上查找模式,并在包含这些模式实例的那 些行或字段上进行指定的动作。awk 使得特定数据的选择和变换操作更易于表达
awk在linux系统下的使用必不可少。 awk 是一种程序语言. 它具有一般程序语言常见...本手册为awk入门的学习指引, 其内容将先强调如何撰写awk程序,未列入进一步解题方式的应 用实例, 这部分将留待UNIX进阶手册中再行讨论.
awk完整教程 0基础入门到精通 awk完整教程 0基础入门到精通
AWK入门教程和实战案例 linux脚本
AWK入门指南,正则表达式使用,高级输出,控制语句,语言详解
Awk入门教程。作者 Bruce Barnett 注:英文版。以下是目录 Why learn AWK? Basic Structure Executing an AWK script Which shell to use with AWK? Dynamic Variables The Essential Syntax of AWK ...
awk入门及提高.pdf
非常好的awk文档,深入浅出 一段代码,一段例子,很适合入门
awk编程语言入门--awk是linux下的一个命令,他对其他命令的输出,对文件的处理都十分强大,其实他更像一门编程语言,他可以自定义变量,有条件语句,有循环,有数组,有正则,有函数等。
Linux下的AWK入门教程.docx
awk 实例入门 教程 AWK_样式扫描和处理语言
这个资源对入门级的人来说应该是一个很好上手的资料
初步介绍awk入门的一些基础知识。awk语言的最基本功能是在文件或字符串中基于指定规则来分解抽取信息,也可以基于指定的规则来输出数据。完整的awk脚本通常用来格式化文本文件中的信息。
很好很详细的awk入门教程!你值得拥有!
awk简介,UNIX/LINUX下一种可以替代小程序的高效工具
非常全面而细致的AWK资料,需要的朋友可以看下
awk 入门教程_阮一峰的网络日志.pdf 每天学习一个命令:awk 处理文本.pdf 在Window中使用 AWK.pdf
能够快速了解awk,能够利用awk简单处理文档
awk 快速入门包含sed 正则表达式 awk 快速入门包含sed 正则表达式