学习Unix awk高级输入方法

系统 其他OS
我们知道Unix awk的next语句导致Unix awk读取下一个记录并完成模式匹配,然后立即执行相应的操作。通常它用匹配的模式执行操作中的代码。

我们在学习Unix awk的时候,已经讲解过Unix awk的许多的知识。当然读者要真正地掌握Unix awk,仅仅读了本文是不够的,还必须有上机实习这一步。值得提醒大家的是,Unix awk有很多版本,并且各个版本之间存在着一些差别,因此,在使用awk以前最好参考一下你使用的系统的联机帮助。

1.读取下一条记录:

Unix awk的next语句导致Unix awk读取下一个记录并完成模式匹配,然后立即执行相应的操作。通常它用匹配的模式执行操作中的代码。next导致这个记录的任何额外匹配模式被忽略。

2.简单地读取一条记录

Unix awk的 getline语句用于简单地读取一条记录。如果用户有一个数据记录类似两个物理记录,那么getline将尤其有用。它完成一般字段的分离(设置字段变量$0 FNR NF NR)。如果成功则返回1,失败则返回0(到达文件尾)。如果需简单地读取一个文件,则可以编写以下代码:

例:示例getline的使用

  1. {while(getline==1)  
  2. {  
  3. #process the inputted fields  
  4. }  

Unix awk也可以使getline保存输入数据在一个字段中,而不是通过使用getline variable的形式处理一般字段。当使用这种方式时,NF被置成0,FNR和NR被增值。

用户也可以使用Unix awk的 getline<"filename"方式从一个给定的文件中输入数据,而不是从命令行所列内容输入数据。此时,getline将完成一般字段分离(设置字段变量$0和NF)。如果文件不存在,返回-1,成功,返回1,返回0表示失败。

用户可以从给定文件中读取数据到一个变量中,也可以用stdin(标准输入设备)或一个包含这个文件名的变量代替filename。值得注意的是当使用这种方式时不修改FNR和NR。Unix awk高级输入的知识,就讲解到这里。

【编辑推荐】

  1. Unix awk的内置函数知识概括
  2. 关于Unix awk的记录的知识讲解
  3. Unix awk的调用方式方面的知识介绍
  4. Unix awk使用手册修改版本
  5. 为什么要使用Unix awk
责任编辑:小霞
相关推荐

2010-05-04 17:48:53

2010-05-11 12:53:58

Unix awk

2010-05-11 10:29:06

Unix awk

2010-04-13 14:19:51

Unix文件

2010-05-11 11:29:11

Unix awk

2010-05-11 13:16:21

Unix awk

2010-05-11 10:43:10

Unix awk

2010-05-11 13:33:22

Unix awk

2010-05-11 10:36:34

Unix awk

2010-05-11 10:15:19

Unix awk

2010-05-10 15:53:24

Unix系统

2010-05-04 16:19:12

Unix命令

2010-04-21 18:27:11

Unix路由

2010-05-11 12:17:51

Unix awk

2010-04-13 14:59:20

Unix操作系统

2010-04-08 14:15:53

Unix操作系统

2018-03-28 17:51:24

LinuxUnix

2009-06-10 08:34:17

Linux编程开发

2010-04-21 11:40:34

Unix 命令

2010-04-30 00:38:34

UNIX引号
点赞
收藏

51CTO技术栈公众号