Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239473
  • 博文数量: 97
  • 博客积分: 1440
  • 博客等级: 上尉
  • 技术积分: 821
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-28 13:45
文章分类

全部博文(97)

文章存档

2011年(3)

2010年(4)

2009年(7)

2008年(2)

2007年(8)

2006年(73)

我的朋友

分类: LINUX

2006-10-10 13:05:49

    awk是一种程序语言,对文档资料的处理具有很强的功能。
    gawk 是GNU计划下所做的awk,gawk 最初在1986年完成,之后不断地被改进、更新。

gawk的主要功能:
    awk 的主要功能是针对文件的每一行( l i n e ),也就是每一条记录,搜寻指定的格式。当某一行符合指定的格式时,gawk 就会在此行执行被指定的动作。gawk 依此方式自动处理输入文件的每一行直到输入文件档案结束。
    1、根据要求选择文件的某几行,几列或部分字段以供显示输出。
    2、以一个功能十分强大的方式过滤输出文档。
    3、根据文档中的数值进行计算。
    4、根据某一个文档的信息准备格式化输出。

如何执行gawk程序:
    基本上有两种方法可以执行g a w k程序。 
    如果gawk 程序很短,则可以将gawk 直接写在命令行,如下所示:
    gawk 'program' input-file1 input-file2 ...
  其中program 包括一些pattern 和a c t i o n。

  如果gawk 程序较长,较为方便的做法是将gawk 程序存在一个文件中,
  gawk 的格式如下所示:
  gawk -f program-file input-file1 input-file2 ...
  gawk 程序的文件不止一个时,执行gawk 的格式如下所示:
  gawk -f program-file1 -f program-file2 ... input-file1 input-file2 ...

字段、记录、文件和分割符

模式和动作
    在gawk语言中每一个命令都由两部分组成:一个模式(pattern)和一个相应的动作(action)。只要模式符合,gawk就会执行相应的动作。其中模式部分用两个斜杠括起来,而动作部分用一对花括号括起来。例如:
/pattern1/ {action1}
//打印出包含nickname行的第四个字段
gawk '/nickname/{print $4}' im_account.templ
gawk '/nickname/{print $4} /uid/{print $1}' im_account.templ

比较运算和数值运算
gawk有很多比较运算符,下面列出重要的几个:
= = 相等
! = 不相等
> 大于
< 小于
> = 大于等于
< = 小于等于
例如:
gawk '$1>3' im_account.templ

内部函数
sqrt(x) 求x 的平方根
sin(x) 求x 的正弦函数
cos(x) 求x 的余弦函数
a t a n 2 ( x,y) 求x / y的余切函数
log(x) 求x 的自然对数
exp(x) 求x 的e 次方
int(x) 求x 的整数部分
rand() 求0 和1之间的随机数
srand(x) 将x 设置为r a n d ( )的种子数



阅读(1065) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~