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--