awk学习总结

一、主要 built-in 变量
RS -  record separator
RT -  record terminal
NR -  number of records(by now to be seen)
FNR - file number records( total )
ORS - output record separator

FS - field separator
NF - number fields
FIELDWIDTHS - non-zero can cause FS ineffective
OFS - output field separator

RSTART, RLENGTH  with match (~)

SUBSEP ,  subscript separator (used in Arrays)

二、 Arrays
 in - (val in array)
 delete arrayname[subscript]  (delete one item)
 delete arrayname   (delete all)

三、变量类型和转换
两种类型: floating point numbers , strings
conversion:   strtod(3), sprintf(3)

未初始化的变量要么为0,要么为""

              CONVFMT = "%2.2f"
              a = 12
              b = a ""  (强制字符串)

四、patterns / actions
patterns:
 BEGIN
 END
 regular expression

五、正则表达式 / 字符类(character class)
 c \c . ^ $ [a...] [^a...] r1|r2 + * ? (r) r{n[,][, m]} \Y  \< \>  \B   \w \W

character class
[:alnum:] 等

六、运算符优先级
相比较于C语言比较特殊的运算符:
$  field引用
space 有字符串连接功能
~ (match)  !~ (negated match)
in (array membership)

七、I/O操作
close
getline
next
nextfile
system
co-process //TODO

八、特殊文件
/dev/stdin
/dev/stdout
/dev/stderr
/dev/fd/n

九、数学函数
十、string 函数
asort
asorti
gensub
gsub
index
length
match
split
sprintf
strtonum
sub
substr
tolowwer
toupper
十一、时间函数
mktime
strftime
systime
十二、位操作函数
and、compl、or、 lshift、 xor、 rshift

十三、国际化函数

十四、user-defined 函数
自定义函数的函数名与(之间不能出现空格,防止和字符串连接语法冲突
built-in 函数不存在此问题

十五
加载动态共享库(extension("object", "function"))

十六、signals
信号处理方式:
 SIGUSR1 (dump profile及函数调用栈, continue)
 SIGHUP (dump profile及函数调用栈, exit)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值