现在的位置: 首页 > 综合 > 正文

AIX下AWK语言的内置变量

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

打印域个数,行号,记录,以及文件名
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

--the end--

【上篇】
【下篇】

抱歉!评论已关闭.