awk的内置变量

属性 说明
$0 当前记录(作为单个变量)
$1~$n 当前记录的第n个字段,字段间由FS分隔
FS 输入字段分隔符 默认是空格
NF 当前记录中的字段个数,就是有多少列
NR 已经读出的记录数,就是行号,从1开始
RS 输入的记录他隔符默 认为换行符
OFS 输出字段分隔符 默认也是空格
ORS 输出的记录分隔符,默认为换行符
ARGC 命令行参数个数
ARGV 命令行参数数组
FILENAME 当前输入文件的名字
IGNORECASE 如果为真,则进行忽略大小写的匹配
ARGIND 当前被处理文件的ARGV标志符
CONVFMT 数字转换格式 %.6g
ENVIRON UNIX环境变量
ERRNO UNIX系统错误消息
FIELDWIDTHS 输入字段宽度的空白分隔字符串
FNR 当前记录数
OFMT 数字的输出格式 %.6g
RSTART 被匹配函数匹配的字符串首
RLENGTH 被匹配函数匹配的字符串长度
SUBSEP \034

FS的三种值

1, 如果为空格的时候,默认为空格,段将会被空白(s+)分隔,记录的前导空白字符和结尾空白字符(\s+)将被忽略

2, 如果为其他的单个字符包括制表符(\t),凡是出现这个字符的地方都是分隔符,即使两个字符,比如指定“:”,那么"::",这是两个分隔符,中间分出一个空字符串。

3, 正则表达式,可以给FS赋值为正则表达式,每个匹配的地方为分隔符

posted @ 2013-05-29 22:31  sunsweet  阅读(202)  评论(0编辑  收藏  举报