Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / AIX下AWK语言的内置变量

awk内置变量 
awk有许多内置变量用来设置环境信息,可修改;下表是一些常用的内置变量及其含义: 
—————————————————————————————————————————————— 
ARGC        命令行参数个数 
ARGV        命令行参数排列 
ENVIRON   支持队列中系统环境变量的使用 
FILENAME    awk浏览的文件名 
FNR   浏览文件的记录数 
FS      设置输入域分隔符,等价于命令行-F选项 
NF      浏览记录的域个数 
NR      已读的记录数 
OFS   输出域分隔符 
ORS   输出记录分隔符 
RS      控制记录分隔符 
—————————————————————————————————————————————— 
记录个数: 
awk "END {print NR}" grade.txt 

 
打印域个数,行号,记录,以及文件名 
awk "{print NF,NR,$0} END {print FILENAME}" grade.txt 
7 1 M.Tansley  05/99  48311  Green    8    40 44 
7 2 J.Lulu   06/99  48317  green    9    24 26 
7 3 P.Bunny    02/99  48   Yello    12 35 28 
7 4 J.Troll    07/99  4842 Brown-3  12 26 26 
7 5 L.Tansley  05/99  4712 Brown-2  12 30 28 
grade.txt 
 
若有数据,找出包含Brown的数据行: 
awk "{if (NR > 0 && $4 ~/Brown/) print $0}" grade.txt 
J.Troll    07/99  4842 Brown-3  12 26 26 
L.Tansley  05/99  4712 Brown-2  12 30 28 
 
NF强大的功能 
echo $PWD 
/usr/xxxx/ytcclb 
取出当前目录名: 
echo $PWD | awk -F/ "{print $NF}" 
ytcclb 
取出文件名及后缀 
echo "/usr/xxxx/ytcclb/cat_file.txt" | awk -F/ "{print $NF}" 
cat_file.txt