4.awk内部变量
(部分变量需要验证)
变量 含义 默认值 属性
ARGC 命令行实参个数 - 只读
ARGV 命令行实参数组 - 可读可写
FILENAME 当前输入文件名 - 只读
FNR 当前文件中的记录数 - 只读
FS 输入字段分隔符 空白及制表符 可读可写
NF 当前记录中的字段数 - 只读
NR 至今读取的记录数 - 只读
OFMT 数的输出格式 %.6g 可读可写
OFS 输出字段分隔符 空白 可读可写
ORS 输出记录分隔符 换行符 可读可写
RS 输入记录分隔符 换行符 可读可写
RSTART 由match()匹配的第一个字符索引 - 只读
RLENGTH 由match()匹配的串的长度 - 只读
SUBSEP 下标分隔符 “\34” 只读
CONVFMT 数值的内部转换格式 %.6g 可读可写
比如现在AWK处理到第五行。第一行没有进行操作,2,3,4,5行进行了操作,那么NR=5,FNR=4
NR==FNR 表示从起始行到当前行,awk都进行了操作,比如修改,添加等等
简单来说,NR就是当前读取多少行,FNR就是当前修改了多少行,FNR<=NR
(部分变量需要验证)
变量 含义 默认值 属性
ARGC 命令行实参个数 - 只读
ARGV 命令行实参数组 - 可读可写
FILENAME 当前输入文件名 - 只读
FNR 当前文件中的记录数 - 只读
FS 输入字段分隔符 空白及制表符 可读可写
NF 当前记录中的字段数 - 只读
NR 至今读取的记录数 - 只读
OFMT 数的输出格式 %.6g 可读可写
OFS 输出字段分隔符 空白 可读可写
ORS 输出记录分隔符 换行符 可读可写
RS 输入记录分隔符 换行符 可读可写
RSTART 由match()匹配的第一个字符索引 - 只读
RLENGTH 由match()匹配的串的长度 - 只读
SUBSEP 下标分隔符 “\34” 只读
CONVFMT 数值的内部转换格式 %.6g 可读可写
比如现在AWK处理到第五行。第一行没有进行操作,2,3,4,5行进行了操作,那么NR=5,FNR=4
NR==FNR 表示从起始行到当前行,awk都进行了操作,比如修改,添加等等
简单来说,NR就是当前读取多少行,FNR就是当前修改了多少行,FNR<=NR