文本过滤-LinuxToneOrg.PDFVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文本过滤-LinuxToneOrg

下载 第9章 AWK 介 绍 如果要格式化报文或从一个大的文本文件中抽取数据包,那么 a w k可以完成这些任务。它 在文本浏览和数据的熟练使用上性能优异。 整体来说, a w k是所有s h e l l过滤工具中最难掌握的,不知道为什么,也许是其复杂的语法 或含义不明确的错误提示信息。在学习 a w k语言过程中,就会慢慢掌握诸如 Bailing out 和 a w k : c m d . L i n e :等错误信息。可以说 a w k是一种自解释的编程语言,之所以要在 s h e l l 中使用a w k 是因为a w k本身是学习的好例子,但结合 a w k与其他工具诸如g r e p和s e d ,将会使s h e l l编程更加 容易。 本章没有讲述a w k 的全部特性,也不涉及a w k 的深层次编程,(这些可以在专门讲述a w k 的 书籍中找到)。本章仅注重于讲述使用a w k执行行操作及怎样从文本文件和字符串中抽取信息。 本章内容有: • 抽取域。 • 匹配正则表达式。 • 比较域。 • 向a w k传递参数。 • 基本的a w k行操作和脚本。 本书几乎所有包含 a w k命令的脚本都结合了 s e d和g r e p ,以从文本文件和字符串中抽取信 息。为获得所需信息,文本必须格式化,意即用域分隔符划分抽取域,分隔符可能是任意字 符,在以后讲述a w k时再详细讨论。 a w k 以发展这种语言的人A h o . We n i n b e rg e r 和K e r n i g h a m命名。还有n a w k 和g a w k ,它们扩 展了文本特性,但本章不予讨论。 a w k语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息。 a w k抽取信息 后,才能进行其他文本操作。完整的 a w k脚本通常用来格式化文本文件中的信息。 9.1 调用awk 有三种方式调用a w k ,第一种是命令行方式,如: 这里,c o m m a n d s是真正的a w k命令。本章将经常使用这种方法。 上面例子中, [ - F域分隔符]是可选的,因为 a w k使用空格作为缺省的域分隔符,因此如果 要浏览域间有空格的文本,不必指定这个选项,但如果要浏览诸如 p a s s w d 文件,此文件各域 以冒号作为分隔符,则必须指明- F选项,如: 第二种方法是将所有 a w k命令插入一个文件,并使 a w k程序可执行,然后用 a w k命令解释 器作为脚本的首行,以便通过键入脚本名称来调用它。 第三种方式是将所有的 a w k命令插入一个单独文件,然后调用: 第9章 AWK 介 绍 67 下载 - f选项指明在文件 a w k _ s c r i p t _ f i l e 中的a w k脚本,i n p u t _ f i l e ( s )是使用a w k进行浏览的文件 名。 9.2 awk脚本 在命令中调用a w k时,a w k脚本由各种操作和模式组成。 如果设置了 - F选项,则a w k每次读一条记录或一行,并使用指定的分隔符分隔指定域,但 如果未设置- F选项,a w k假定空格为域分隔符,并保持这个设置直到发现一新行。当新行出现 时,a w k命令获悉已读完整条记录,然后在下一个记录启动读命令,这个读进程将持续到文件 尾或文件不再存在。 参照表9 - 1 ,a w k每次在文件中读一行,找到域分隔符(这里是符号 # ),设置其为域n ,直 至一新行(这里是缺省记录分隔符),然后,划分这一行作为一条记录,接着 a w k再次启动下 一行读进程。 表9-1 awk读文件记录的方式 域1 分 隔 符 域2 分 隔 符 域 3 分 隔 符 域4及换行 P. B u n n y (记录 1 ) # 0 2 /

文档评论(0)

wumanduo11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档