当前位置: > shell编程 >

学习awk的内置函数

时间:2014-09-10 22:34来源:linux.it.net.cn 作者:it

awk的内置函数

内置变量的中文翻译:
ARGC 命令行参数个数 
AGRV 命令行参数排列 
ENVIRON 支持队列中系统环境变量的使用
FILENAME 浏览文件名 
FNR 浏览文件的记录数 
FS 输入域分隔符 
NF 浏览记录的域个数 
NR 已读的记录数 
OFS 输出域分隔符 
ORS 输出记录分隔符 
RS 控制记录分隔符

内置函数示例:

index(s,t) 返回s中字符串t的第一位置 [root@raocl ~]# awk ‘BEGIN {print index(“Sunny”,”ny”)}’ 4

length(s) 返回s的长度 [root@raocl ~]# awk ‘BEGIN {print length(“Sunny”)}’ 5

match(s,r) 测试s是否包含匹配r的字符串,默认带两个变量RSTART、RLENGTH,分别是开始位置和占用长度 [root@raocl ~]# echo 12|awk ‘$1=”J.Lulu”{print match($1,”u”),RSTART,RLENGTH}’ 4 4 1

split(s,a,fs) 以fs为分隔符将s分割输入数组a [root@raocl ~]# awk ‘BEGIN {print split(“12#345#6789”,myarray,”#”),myarray[2]}’ 3 345

substr(s,p) 返回字符串s中从p开始的后缀部分

substr(s,p,n) 返回字符串s中从p开始长度为n的后缀部分 [root@raocl ~]# echo abcdefg|awk ‘{print substr($0,1,length($0)-4)}’ abc

gsub(r,s,t) 在t中用s替代r(不写t就是$0) (附:sub()函数只替换第一次出现的位置;另,sub/gsub修改字符串,而substr是生成子串,不修改原串) [root@raocl ~]# echo abc|awk ‘gsub(/ab/,”12”,$0)’ 12c

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容