字符串函数
1.sub和gsub函数
sub函数用于在记录中茶渣群殴能够匹配正则表达式的最长且最靠左的子串,然后替换串取代找到的子串,如果制定了目标串就在目标串中查找能够匹配正则表达式的最长且最靠左的子串,并将找到的子串替换为替换串。若未指定目标串,则在整个记录中查找。
格式:sub (正则表达式,替换串);
sub (正则表达式,替换串,目标串);
例:awk '{sub(/mac/,"mactox");print}' sub只处理每行首次遇到的字符串
awk '{sub(/mac/,"mactox",$1);print}'这里sub只对目标串中出现的第一个匹配字符串进行替换.gsub函数则对字符串中正则表达式进行全局替换,及替换所有在记录$0中出现的正则表达式.
格式:gsub (正则表达式,替换串);
gsub (正则表达式,替换串,目标串);
进行全局替换,只要查到了就会进行替换
2.index函数
index函数返回子串在字符串中第一次出现的位置,偏移量从位置1开始计算.
格式
index(字符串,子串)
awk '{print index("hollow","low")}' filename
4
3.length 函数
length函数返沪了字符串中字符的个数,未指定参数,则length函数返回记录中的字符个数
格式:
length (字符串)
length
awk '{print length("hello")}' filename
4.substr函数
substr函数返回从字符串指定位置开始的一个子串,如果指定子串长度,则返回字符串的相应部分,若指定的字符串长度超出字符串的实际范围,则返回其实际长度.
格式:substr (字符串,起始位置)
substr (字符串,起始位置,子串长度)
split函数
split函数使用第三个参数指定的字段分隔符,把字段拆分成一个数组,没有提供第三个参数,awk将把FS的当前值作为字段分隔符。
split (字符串,数组,字段分隔符)
split (字符串,数组)
awk 'BEGIN{split("12/25/2001",data,"/");print data[2]}' filename
阅读(3284) | 评论(1) | 转发(0) |