Chinaunix首页 | 论坛 | 博客
  • 博客访问: 69008
  • 博文数量: 17
  • 博客积分: 508
  • 博客等级: 下士
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-20 12:56
文章分类
文章存档

2010年(17)

分类:

2010-09-26 12:45:04

字符串函数
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) |
给主人留下些什么吧!~~