码迷,mamicode.com
首页 > 其他好文 > 详细

awk的常用标变量和数值运算符

时间:2016-11-27 20:26:53      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:awk

   awk是Unix系统中的重要的支持正则表达式模式的处理文本处理工具,它即不像sed是基于一行行的处理文本数据,也不像grep一样只是匹配某一个字符串所在的行的数据,它处理文本数据是可以抓取到相应的字段的,要实现如此复杂的功能awk就有大量的内建函数、命令、变量、数组等等。awk还支持自定义变量,awk的内建变量一般用大写,而我们自定义的变量中一般全局变量第一个字母大写,局部变量全部小写,这个是我们一般的使用习惯。当然在Unix系统中awk还有衍生出其他相应的免费版本,如果你的系统是遵从FHS标准的话,默认的有如下:

[root@localhost bin]# ls /bin/|egrep ‘\.*awk$|^awk\.*‘
awk
gawk
igawk
pgawk

   其他版本的awk在这里就不做过多的赘述了,先说一下awk的常用内建标量变量:

变量
说明
FILENAME
当前输入文件的名字
FNR
当前文件的记录数(rows,即行)
FS
字段分隔字符(默认为空格)
NF
当前记录的字段数(field的总和,即$0里的所有字段数)
NR
当前处理的字段的记录数(如果是处理所有数据等效于FNR)
OFS
输出字段分隔字符(默认为空格)
ORS
输出记录分隔字符(默认为“\n”,即换行)
RS
输入记录分隔字符
SUBSEP
数组下标分隔字符

数值运算符(优先级从大到小):

运算符
说明
++ --
增加与减少(前置或后置)
^ **
指数
! + -
非、加(一元条件表达式中)、减(一元条件表达式中)
* / %
乘、除、余
+ -
加、减
< <= == => != >
比较
&&
逻辑与(and)
||
逻辑或(or)
? :
三元条件式
= += -= *= /= %= ^= **=
赋值

当然还有正则运算符,当然在平时我们可能还会使用的到awk的内建函数来处理数据,另外awk下还有BEGING、END、PATTERN这3种语句块,在这里就不做过多的说明了,需要可以查看man帮助文档,总之awk是在Unix系统中相当重要的文本处理工具,如果熟悉掌握它可以让你在平时处理数据时事半功倍。

本文出自 “技术随笔” 博客,请务必保留此出处http://jim123.blog.51cto.com/4763600/1877069

awk的常用标变量和数值运算符

标签:awk

原文地址:http://jim123.blog.51cto.com/4763600/1877069

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!