awk模式匹配

awk模式匹配

编程入门hacker2017-12-13 7:27:278961A+A-

在这篇文章中,人们将见到很多小的,以至于没什么实际意义的事例,但她们可以认证awk程序流程脚本制作的关键特性。

当awk读入每行时,它视图配对脚本制作中的每一模式匹配标准。只能与1个特殊的方式相符合的键入行能够变成实际操作构造函数。如果不是特定实际操作,与方式相符合的键入已然被复印出去(实行复印句子是1个默认设置实际操作)。参阅下边的脚本制作:

/^$/ { print "This is a blank line." }

该脚本制作表达:要是键入个人行为空,那麼复印"This is a blank line" 。这儿的方式为1个正则表达式,用于表达1个空行。这一解决和人们之前所看到的相同,只包括这条print句子。

要是人们将这一脚本制作放到1个称之为awkscr的文档中,并应用名叫test的键入文档,这一文档中包括3个空行,随后使下边的指令实行这一脚本制作:

$ awk -f awkscr test

This is a blank line.

This is a blank line.

This is a blank line.

(从这里开始,人们将假设脚本制作放到1个独立的文档中,并应用-f命令行选择项来启用。)这一結果告诉他人们在test中有3个空行,脚本制作忽咯了非空的行。

给左右的脚本制作添加好多个新的标准。如今的脚本制作要对键入开展剖析,并将她们分类为自然数、字符串或空行。

/[0-9]+/ { print "That is an integer" }

/[A-Za-z]+/ { print "This is a string" }

/^$/ { print "This is a blank line." }

总体观念是,要是1个键入行可以和一切1个模式匹配,那麼就实行有关的print句子。元字符+是正则表达式元字符扩展集中化的部分,它表达"1个或大量"。因而,包括1个或好几个大数字序列的已然被当作是1个自然数。下列是1个应用规范键入的运作实例:

$ awk -f awkscr

4

That is an integer

t

This is a string

4T

That is an integer

This is a string

RETURN

This is a blank line.

44

That is an integer

CTRL-D

$

特别注意,键入"4T"被标志为即是自然数也是字符串。每行能够配对这条或好几条标准。你能撰写1个更严苛的标准以避免每行与好几条标准相符合。还可以撰写实际操作来绕过脚本制作中的别的一部分。


点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 1条评论
  • 痛言岛徒2022-05-29 10:09:20
  • is is a blank line" 。这儿的方式为1个正则表达式,用于表达1个空行。这一解决和人们之前所看到的相同,只包括这条print句子。要是人们将这一脚本制作放到1个称之为awkscr的文档中,并应用名叫test的键入文档,这一文

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理