FILENAME awk浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符,等价于命令行 -F选项
NF 浏览记录的域的个数, 根据分隔符分割后的列数
NR 已读的记录数, 也是行号
OFS...$NF $NF是number finally,表示最后一列的信息,跟变量NF是有区别的,变量NF统计的是每行列的总数
演示
数据准备:将linux用户配置文件拷贝到当前目录
cp /etc/passwd...打印文件每行属性信息
统计passwd:文件名,每行的行号,每行的列数,对应的完整行内容:
awk -F ':' '{print "文件名:" FILENAME ",行号:" NR ",列数:" NF...:%2s, 列数:%1s, 内容:%2s\n",FILENAME,NR,NF,$O)}' passwd
# printf(格式字符串,变量1,变量2,...)
# 格式字符串: %ns 输出字符串,n...NF-N) N是几, 就是倒数第几列
运行效果
10.打印10到20行的第一列
获取第10到20行的第一列的信息:
awk -F: '{if(NR>=10 && NR<=20) print $1}'