linuxjishu/13830.html target=_blank class=infotextkey>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