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 

相关内容