手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2017-02-08] 来源:Linux社区  作者:jim123 [字体: ]

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

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

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

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

Linux常用命令之awk http://www.linuxidc.com/Linux/2016-09/135046.htm

Linux系统之文本格式化工具awk http://www.linuxidc.com/Linux/2016-02/128150.htm

AWK简介及使用实例 http://www.linuxidc.com/Linux/2013-12/93519.htm

Linux awk文本分析工具 http://www.linuxidc.com/Linux/2015-12/126217.htm

Linux文本处理工具之awk  http://www.linuxidc.com/Linux/2015-01/111437.htm

如何在Linux中使用awk命令 http://www.linuxidc.com/Linux/2014-10/107542.htm

文本分析工具-awk  http://www.linuxidc.com/Linux/2014-12/110939.htm

AWK入门基础教程  http://www.linuxidc.com/Linux/2016-12/138138.htm

使用awk格式化输出文本 http://www.linuxidc.com/Linux/2016-04/130193.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-02/140393.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款