30 分钟包你学会 AWK( 二 )


30 分钟包你学会 AWK

文章插图
--posix 选项
该选项开启严格的POSIX兼容 。
--profile[=file]选项
该选项会输出一份格式化之后的程序到文件中,默认文件是 awkprof.out 。
30 分钟包你学会 AWK

文章插图
--traditional 选项
该选项会禁止所有的gawk规范的扩展 。
--version 选项
输出版本号
30 分钟包你学会 AWK

文章插图
基本使用示例
本部分会讲述一些有用的AWK命令和它们的使用示例,所有的例子都是以下面的文本文件 marks.txt 为基础的 。
30 分钟包你学会 AWK

文章插图
打印所有的行
默认情况下,AWK会打印出所有匹配模式的行
30 分钟包你学会 AWK

文章插图
打印匹配模式的列
当模式匹配成功时,默认情况下AWK会打印该行,但是也可以让它只打印指定的字段 。例如,下面的例子中,只会打印出匹配模式的第三和第四个字段 。
30 分钟包你学会 AWK

文章插图
任意顺序打印
30 分钟包你学会 AWK

文章插图
打印超过18个字符的行
30 分钟包你学会 AWK

文章插图
内建变量
AWK提供了很多内置的变量,它们在开发AWK脚本的过程中起着非常重要的角色 。
标准AWK变量 ARGC 命令行参数个数
命令行中提供的参数个数
30 分钟包你学会 AWK

文章插图
ENVIRON 环境变量
环境变量的关联数组
30 分钟包你学会 AWK

文章插图
NF 字段数目
30 分钟包你学会 AWK

文章插图
OFS 输出字段分隔符
输出字段分隔符,默认为空
30 分钟包你学会 AWK

文章插图
RSTART
match函数匹配的第一次出现位置
30 分钟包你学会 AWK

文章插图
$n
当前行中的第n个字段
30 分钟包你学会 AWK

文章插图
GNU AWK的变量
ARGIND
当前被处理的ARGV的索引
30 分钟包你学会 AWK

文章插图
BINMODE
在非POSIX系统上指定对所有的文件I/O采用二进制模式 。
ERRORNO
一个代表了 getline跳转失败或者是 close调用失败的错误的字符串 。
30 分钟包你学会 AWK

文章插图
FIELDWIDTHS
设置了空格分隔的字段宽度变量列表的话,GAWK会将输入解析为固定宽度的字段,而不是使用FS进行分隔 。
IGNORECASE
设置了这个变量的话,AWK会忽略大小写 。
30 分钟包你学会 AWK

文章插图
LINT
提供了对–lint选项的动态控制 。
30 分钟包你学会 AWK

文章插图
操作符
与其它编程语言一样,AWK也提供了大量的操作符 。
算数操作符
算数操作符不多说,直接看例子,无非就是+-*/%
30 分钟包你学会 AWK

文章插图
增减运算符
自增自减与C语言一致 。
30 分钟包你学会 AWK

文章插图
赋值操作符
30 分钟包你学会 AWK

文章插图
关系操作符
30 分钟包你学会 AWK

文章插图
逻辑操作符
 
三元操作符
30 分钟包你学会 AWK

文章插图
一元操作符
 
指数操作符
30 分钟包你学会 AWK

文章插图
字符串连接操作符
 
数组成员操作符
30 分钟包你学会 AWK

文章插图
正则表达式操作符
正则表达式操作符使用 ~和 !~分别代表匹配和不匹配 。
 
更多关于正则表达式请看后面的正则表达式部分


推荐阅读