字符串函数
sub(regular expression,substitution string);
sub(regular expression,substitution string,target string);
[root@xieqichao ~]# awk '{sub("Tom","Tommy"); print}' employees #这里使用Tommy替换了Tom。
Tommy Jones 4424 5/12/66 543354
当正则表达式Tom在第一个域中第一次被匹配后,
他将被字符串"Tommy"替换,如果将sub函数的第三个参数改为$2,将不会有替换发生。
[root@xieqichao ~]# awk '{sub("Tom","Tommy",$1); print}' employees
Tommy Jones 4424 5/12/66 543354
gsub(regular expression,substitution string);
gsub(regular expression,substitution string,target string);
和sub不同的是,如果第一个参数中正则表达式在记录中出现多次,那么gsub将完成多次替换,而sub只是替换第一次出现的。
index(string,substring)
该函数将返回第二个参数在第一个参数中出现的位置,偏移量从1开始。
[root@xieqichao ~]# awk 'BEGIN{print index("hello","el")}'
2
length(string)
该函数返回字符串的长度。
[root@xieqichao ~]# awk 'BEGIN{print length("hello")}'
5
substr(string,starting position)
substr(string,starting position,length of string)
该函数返回第一个参数的子字符串,其截取起始位置为第