![]() |
| 当前位置: > 首页 ->Linux技术 ->Linux程序设计 ->Awk 实例(一) |
|
这个赋值表达式也有问题,它并非必要。为什么?因为缺省情况下,FS 设置成单一空格字符,awk 将这解释成表示“一个或多个空格或 tab”。在这个特殊示例中,缺省 FS 设置恰恰是您最想要的! 复杂的规则表达式也不成问题。即使您的记录由单词 "foo" 分隔,后面跟着三个数字,以下规则表达式仍允许对数据进行正确的分析:
接着我们要讨论的两个变量通常并不是需要赋值的,而是用来读取以获取关于输入的有用信息。第一个是 NF 变量,也叫做“字段数量”变量。awk 会自动将该变量设置成当前记录中的字段数量。可以使用 NF 变量来只显示某些输入行:
当然,也可以在条件语句中使用 NF 变量,如下:
记录号 (NR) 是另一个方便的变量。它始终包含当前记录的编号(awk 将第一个记录算作记录号 1)。迄今为止,我们已经处理了每一行包含一个记录的输入文件。对于这些情况,NR 还会告诉您当前行号。然而,当我们在本系列以后部分中开始处理多行记录时,就不会再有这种情况,所以要注意!可以象使用 NF 变量一样使用 NR 来只打印某些输入行:
另一个示例:
awk 提供了适合各种用途的附加变量。我们将在以后的文章中讨论这些变量。 现在已经到了初次探索 awk 的尾声。随着本系列的开展,我将演示更高级的 awk 功能,我们将用一个真实的 awk 应用程序作为本系列的结尾。同时,如果急于学习更多知识,请参考以下列出的参考资料。 原文链接:http://www-128.ibm.com/developerworks/cn/linux/shell/awk/awk-1/index.html 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 << 上一篇:用Perl 来创建可重用的Web应用程序 下一篇:Awk 实例(二) | ||||||||||||||||||||||||||||||||
| 【文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论】 | |||||||||||||||||||||||||||||||||
| ·快速编辑Shell命令行 | ·从2.4到2.6内核发展中的改进·两个很详细的shell实例·内核设计篇·shell技巧·批量添加用户·HowtoCreatingandBootingaNewKernelWitha·利用ip_conntrack表实现封ip的shell脚本,·30分钟搞定BASH脚本编程!·Shell初学者的入门知识|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
|
声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。 |
|||||||||||||||||||||||||||||||||