AWK 知识库
《AWK 编程语言》1
《AWK 编程语言》2
《AWK程序设计语言》https://github.com/wuzhouhui/awk
http://www.xuexi111.com/book/jisuanji/38545.html PDF download
高效的AWK编程第四版.pdf 在线阅读
The AWK Programming Language.pdf 微盘下载
变量
内建变量
________________________________________________
变量 意义 默认值
———————————————————————————
ARGC 命令行参数的个数 -
ARGV 命令行参数数组 -
FILENAME 当前输入文件名 -
FNR 当前输入文件的记录个数 -
FS 控制着输入行的字段分割符 " "
NF 当前记录的字段个数 -
NR 到目前为止读的记录数量 -
OFMT 数值的输出格式 "%.6g"
OFS 输出字段分割符 " "
ORS 输出的记录的分割符 "\n"
RLENGTH 被函数match 匹配的字符串的长度 -
RS 控制着输入行的记录分割符 "\n"
RSTART 被函数match 匹配的字符串的开始
SUBSEP 下标分割符 \034"
1111 | 5555 | 36+++ |
99 | knk | 989 |
函数
用户自定义函数
语法:
function name ( parameters_list ) {
statements
[ return [expression] ]
}
或
function name ( parameters_list ) { statements [; [ statements ] ] [ ; return [expression] ] }
用法:
* 函数支持递归
* 函数体可当行或多行
* 调用。普通变量(标量)参数按值传递,数组参数按引用传递。同C函数调用。
数组里的元素可被函数内修改。
* 参数。
参数变量为函数内局部变量,仅在函数内有效或可见。非参数变量为全局变量。
* 局部变量。
局部变量只能按和参数相同的方式进行定义,一般定义在参数最后。
系统函数
print 等于 print $0