gsub(r, s [, t])
  
For each substring matching the regular expression r in the string t, substitute the string s, and return the number of substitutions.  If t is not supplied,  use  $0. An  &  in  the replacement text is replaced with the text that was actually matched.  Use \& to get a literal &.  (This must be typed as "\\&"; see GAWK: Effective AWK Programming for a fuller discussion of the rules for &'s and backslashes in the replacement text of sub(), gsub(), and gensub().)
 
  1. r 表示正则表达式,用来进行 查找指定特征的字符串;
  2. s 表示 替换的内容;
  3. t 表示 输入的字符串,如果没有指定t,默认是$0.(因为awk是行处理的,所以$0表示每一行);
  4. 返回值:匹配并替换的次数。
 
示例:
gsub_test文件的内容为:
frank@ubuntu:~/test/acapela$ cat gsub_text
[Frank]
id=123
age=18
[Mike]
id=456
age=18
 
 
frank@ubuntu:~/test/acapela$ awk '{s+=gsub(/^\[/,"");print $0,s}' gsub_text
Frank] 1
id=123 1
age=18 1
1
Mike] 2
id=456 2
age=18 2
 
 
统计 以“[”开头的行的个数。即获取gsub_text中的人数。
s+=gsub(/^\[/,"") 表示 匹配以“[”开头的行并替换为"",同时将匹配并替换的次数保存在s中。
print $0,s 为了方便查看执行的结果,一是输出每一次行处理的输入,同时打印当前 替换的次数s。
从输出的结果可知,
gsub_text中第一行 匹配到并替换,所以 s = 1;第 2,3,4行中没有匹配到"[",所以返回值为0,s加1依旧是1;第5行 又匹配到并替换,所以返回值是1,s加1变成2。

gsub函数的更多相关文章

  1. awk的sub函数和gsub函数的用法

    1. sub函数 [root@nhserver1 10]# echo "a b c 2011-11-22 a:d" | awk 'sub(/-/,"",$4)' ...

  2. awk下 gsub函数用法

     (2012-03-27 01:37:28) 标签: awk gsub linux 函数 it 分类: linux gsub函数则使得在所有正则表达式被匹配的时候都发生替换 gsub(regular ...

  3. R内的gsub()函数

    今天遇到了一个问题就是,如果数据里面有逗号,那么如何转换他们.就像下面的这样: > exercise9_1$地区生产总值 [1] 16,251.93 11,307.28 24,515.76 11 ...

  4. R语言 sub与gsub函数的区别

    > text <- c("we are the world", "we are the children") > sub("w&qu ...

  5. awk中gsub的应用

    (1)文件filename的内容 cat awk_file 1 2 3 $1,200.00 1 2 3 $2,300.00 1 2 3 $4,000.00 (2)去掉第四列的$和,并汇总第四列的和. ...

  6. Lua 的函数库 01

    这里只介绍和插件编写比较有关的几个函数. 详细的Lua手册请参照Lua Reference Manual 5.1. table函数库 一部分的table函数只对其数组部分产生影响, 而另一部分则对整个 ...

  7. 【转】linux下awk内置函数的使用(split/substr/length)

    转自:http://gdcsy.blog.163.com/blog/static/12734360920130241521280/ 一.split 初始化和类型强制        awk的内建函数sp ...

  8. Chapter 21_2 模式匹配函数

    基础函数比较简单,就是几个普通的函数string.byte.string.char.string.rep.string.sub.string.format还有大小写转换函数upper和lower. 接 ...

  9. shell脚本中gsub的应用

    (1)文件filename的内容 cat awk_file 1 2 3 $1,200.00 1 2 3 $2,300.00 1 2 3 $4,000.00 (2)去掉第四列的$和,并汇总第四列的和 a ...

随机推荐

  1. luogu P1056 排座椅

    题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...

  2. POJ 3532 Resistance(高斯消元+基尔霍夫定理)

    [题目链接] http://poj.org/problem?id=3532 [题目大意] 给出n个点,一些点之间有电阻相连,求1~n的等效电阻 [题解] 有基尔霍夫定理:任何一个点(除起点和终点)发出 ...

  3. 使用shell生成随机数

    #!/bin/bash $` do $` do s=$(($RANDOM%)) done done 第1行:#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示 ...

  4. React Conf 2017 干货总结 1: React + ES next = ♥

    React Conf 2017在加利福尼亚州的圣克拉拉万豪酒店圆满落幕,这已经是Facebook举办的第三届React官方大会了.虽然不能参会,但是作为前端开发者,我们当然不能错过这个绝佳的学习契机. ...

  5. oracle 百万行数据优化查询

      1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使 ...

  6. Git -- 自己项目关联新建的git

  7. iOS开发学习 阶段过程简述

    下面就简单介绍一下我iOS开发的感受,也是学习iOS开发的一个体系架构. 1 iOS开发环境 1.1 开发环境 标准的配置是Mac OS X + Xcode. MacOSX的话首选用苹果电脑,macm ...

  8. Swift,闭包

    闭包(相当于匿名函数)的几种情况 利用sorted()排序方法来进行示例 1.sorted()正常引用的情况 var str=["d","a","c& ...

  9. flask的配置设置的几种方式

     Flask的配置对象(config)是一个字典(dict)的子类(subclass),所以你可以把配置用键值对的方式存储进去. 1.一些重要的配置,可以设置在系统环境变量里,又或者放到某个服务器里, ...

  10. D3.js系列——动态效果和Update、Enter、Exit的理解

    一.动态效果 D3 支持制作动态的图表.有时候,图表的变化需要缓慢的发生,以便于让用户看清楚变化的过程,也能给用户不小的友好感. 1.什么是动态效果 前面制作的图表是一蹴而就地出现,然后绘制完成后不再 ...