在Linux操作系统中,使用awk命令来处理文本数据是非常常见的。其中,gensub函数是awk中非常强大和实用的一个函数。
在awk中,gensub函数用于替换字符串中的子串。它的用法非常灵活,可以根据不同的需求来进行字符串替换操作。下面我们就来简单介绍一下在Linux下如何使用awk的gensub函数来进行字符串替换。
首先,我们要确定我们要操作的文本文件。假设我们有一个名为sample.
gensub确实不同于sub和gsub这2个工具,它有它更独特的魅力,下面我通过几个例子给大家讲解它的实际用法和独到之处。echo "11111"| awk 'BEGIN{FS=OFS=""}{$4="x";print}'111x1[解析] 这个时候阁下是不是看这段没有字段分割符的文本已经感到无从下手了?呵呵,经过这一系列的FS、OFS设置我们终于达到了目的,是不是很麻烦?我们再看看下面的例子。
转载
精选
2014-05-06 14:13:53
8588阅读
GNU awk扩展正则补充,对其它GNU的程序也通用: \w任何可以做单词组成成分的字符匹配(字母、数字、下划线) \W和\2相反 \<匹配单词的开头 \>匹配单词的结尾 \y匹配一个单词的开头和结尾,例:\yballs?\y \B
原创
2013-06-16 22:19:59
2809阅读
【问题描述】从以下信息中提取联系人邮箱地址,内容如下:<yongbo.shan@mm.com>, 李俊清 <junqing.li@mm.com>, 任翔 <xiang.ren@mm.com>, 李杨柳 <yangliu.li@mm.com>, 孟津 <jin.men
原创
2015-12-17 18:11:44
3873阅读
1评论
gsub(r,s) 在整个$0中用s替代r
gsub(r,s,t) 在整个t中用s替代r
index(s,t) 返回s中字符串t的第一位置
length(s) 返回s长度
match(s,r) 测试s是否包含匹配r的字符串
split(s,a,fs) 在fs上将s分成序列a
sprint(fmt,exp) 返回经fmt格式化后的exp
sub(r,s) 用$0中第一次出现的r替换成s
substr(s,p) 返回字符串s中从p开始的后缀部分
substr(s,p,n) 返回字符串s中从p开始长度为n的后缀部分 详细说明一下各个函数的使用方法。
gensub(a,b,c[,d])全局替换,匹配正则a, 用b替换,c为指定替换目标是第几次匹配,d为指定替换目标是哪个域
原创
2017-01-25 10:43:53
2459阅读