教程集 www.jiaochengji.com
教程集 >  脚本编程  >  shell  >  正文 awk编程基础知识(5)-规则表达式

awk编程基础知识(5)-规则表达式

发布时间:2014-08-15   编辑:jiaochengji.com
awk 允许使用规则表达式,根据规则表达式是否匹配当前行来选择执行独立代码块,awk的规则表达式...

awk 允许使用规则表达式,根据规则表达式是否匹配当前行来选择执行独立代码块。
输出包含字符序列foo的行:
/foo/ { print }

复杂点的,只打印包含浮点数的行:
/[0-9]+.[0-9]*/ { print }

可以将任意一种布尔表达式放在一个代码块之前,以控制何时执行某特定块。仅当对前面的布尔表达式求值为真时,awk 才执行代码块。以下示例脚本输出将输出其第一个字段等于 fred 的所有行中的第三个字段。如果当前行的第一个字段不等于 fred,awk 将继续处理文件而不对当前行执行 print 语句:
$1 == "fred" { print $3 }

awk 提供了完整的比较运算符集合,包括 "=="、"<"、">"、"<="、">=" 和 "!="。另外,awk 还提供了 "~" 和 "!~" 运算符,它们分别表示“匹配”和“不匹配”。
它们的用法是在运算符左边指定变量,在右边指定规则表达式。如果某一行的第五个字段包含字符序列 root,以下示例只打印这一行中的第三个字段:
$5 ~ /root/ { print $3 }

您可能感兴趣的文章:
awk编程基础知识(5)-规则表达式
为shell编程新手准备的教程
awk基础知识(2)-处理多个字段
awk基础知识(1)-使用规则
shell编程基础知识(2)-正则表达式
shell 字符串的查找与替换
awk编程基础知识(6)-条件语句
awk基础知识(8)-运算符
awk基础知识(13)-字符串函数
探讨:JavaScript布尔类型

关键词: awk   
[关闭]
~ ~