今天主要介绍下awk中内置的String函数和awk中内置的变量。
awk中内置的string函数
- index(in, find): 在 string “in”中查找 find 的第一次出现位置,返回的find在in中第一个字符出现的位置,从1开始
awk 'BEGIN { print index("peanut", "an") }'
# 打印3
- length(string) : 返回字符串的长度,如果是number类型,返回对应字符的长度
- match(string, regexp) : 正则匹配regexp的规则,如果匹配,则返回对应第一个字符的位置
- split(string, array, fieldsep) : 按照fieldsep分割字符串,并将结果放置到array中,array的下标从1开始
split("yaronspace.cn", fields, ".")
# fields[1] = "yaronspace"
# fields[2] = "cn"
- sprintf(format, expression1, …): 格式化字符串
- sub(regexp, replacement, target): 将第一个匹配的regexp的部分使用replacement替代,替代后的结果还是保存在target变量中。所以target必须是变量,不可为字符常量
str = "yaronspace.cn";
sub(/yaronspace/, "xiaofangdeng", str);
# str="xiaofengdeng.cn"
使用&符号引用匹配regexp部分的字符长,示例如下:
str = "yaronspace.cn";
sub(/yaronspace/, "&_xiaofangdeng", str);
# str = "yaronspace_xiaofangdeng.cn"
- gsub(regexp, replacement, target): 与sub功能类似,但是会替换所有匹配regexp的子串,g代表”global”的含义
- substr(string, start, length) : 获取子串
- tolower(string) : 转化为小写
- toupper(string) : 转化为大写
awk中内置的变量
参考文章:
1. http://www.staff.science.uu.nl/~oostr102/docs/nawk/nawk_92.html
2. http://www.thegeekstuff.com/2010/01/8-powerful-awk-built-in-variables-fs-ofs-rs-ors-nr-nf-filename-fnr/
您可能对下面文章也感兴趣: