awk 学习

__begin__

逻辑控制:
break,
continue,
next
do while,
while,
exit,
if ... [else ...],
for(;;) ...;
for(var in arr) ...
return

支持基本正则表达式,逻辑与或非

5个输入输出函数
close, getline, print, printf, system

8个字符串处理函数
gsub, sub, substr, index, length, match, split, sprintf

9个数学计算函数
atan2, cos, exp, int, log, rand, sin, sqrt, srand

14个内置变量:

属性    说明
$0    当前记录(作为单个变量)
$1~$n    当前记录的第n个字段,字段间由FS分隔
示例    《awk的文件处理方式——记录和字段》
FS    输入字段分隔符。缺省值是空格。FS特殊变量可以有两种附加的值:

    如果 FS 设置为单个字符,那么字段由该字符的每个单个具体值隔开。
    如果 FS 设置为一个扩展正则表达式,那么字段由与扩展正则表达式匹配的每个序列的具体值隔开。

NF    当前记录中的字段个数,最大数 99 个
NR    当前输入记录的个数,从1开始,BEGIN模式中值为0,END模式中值为最后处理的记录的编号
RS    输入记录分隔符(缺省值是换行字符)
OFS    输出字段分隔符(缺省值是空格)
ORS    输出记录分隔符(缺省值是换行字符)
ARGC    命令行参数个数
ARGV    命令行参数数组
FILENAME    当前输入文件的名字
IGNORECASE    如果为真,则进行忽略大小写的匹配
ARGIND    当前被处理文件的ARGV标志符
CONVFMT    在输出语句中将数字转换为字符串的 printf 格式。缺省值为“%.6g”
ENVIRON    UNIX环境变量
ERRNO    UNIX系统错误消息
FIELDWIDTHS    输入字段宽度的空白分隔字符串
FNR    当前记录数
OFMT    数字的输出格式 %.6g
RSTART    被匹配函数匹配的字符串首
RLENGTH    被匹配函数匹配的字符串长度
SUBSEP    \034


缺陷:不支持二进制文件处理;位运算不支持; 函数副作用大没有局部变量;不能内部地脚本调用另一个脚本(需要新启动进程);

__end__

转载于:https://my.oschina.net/plp626/blog/179239

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值