请教gensub的用法!

477阅读 0评论2009-09-02 greendays
分类:

  帅哥 (呆子)
荣誉版主-精灵使
3楼楼长


CU奥运火炬传递手2008
荣誉版主  
CU编号: 115226
注册:2003-11-27
最后登录: 2009-09-02
帖子:
精华:







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2005-1-28 23:01 

请教gensub的用法!

man awk
上面有提到。



您对本贴的看法:

__________________________________

世上有两种人
一种是痛苦的人   /\../\ ~..~    208.67.222.222
一种是快乐的猪    (@)  (@)     208.67.220.220
\~~~^..^  ^. .^~~~/
  (___(oo)   (oo)___)

| | |
版主   帅哥 (孩儿他爹㊞)
广告杀手-老法王



CU编号: 17255
注册:2002-8-26
最后登录: 2009-09-02
帖子:
精华:







来自:中国南京
状态:...在线...

[] [] [博客]


[]     顶部
发表于 2005-1-29 12:47 

请教gensub的用法!

估计是man太长看累了
gensub(regexp, replacement, how [, target])
返回值是要得到的字串

比如
awk 'BEGIN{print gensub( /foo/, "bar", 2 , "foo bar foobar")}'

echo "foo bar foobar"|sed -e 's/foo/bar/2'
以及
echo "foo bar foobar"|awk '{$0=gensub( /foo/, "bar", 2);print}'

是一样的结果,看看和sed的用法有多象
而且也支持\&与\1 \2的形式 :D



您对本贴的看法:

__________________________________

=GNU/linux=
GNU {bash 2.05b, grep 2.5, Awk 3.1.3, sed 4.0.8}

导师说:站起来吧
众人说:那么辛苦那么艰苦到底值不值?

设计师说:富起来吧
众人说:拼啦

| | |
  帅哥
老法王


CU奥运火炬传递手2008
荣誉会员  
CU编号: 187152
注册:2004-10-1
最后登录: 2009-09-01
帖子:
精华:







来自:北京海淀
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2005-1-29 13:28 

请教gensub的用法!



QUOTE:
原帖由 "waker"] 发表:
)
返回值是要得到的字串

比如
awk 'BEGIN{print gensub( /foo/, "bar", 2 , "foo bar foobar")}'

echo "foo bar foobar"|sed -e 's/foo/bar/2'
以及
echo "foo bar foobar"|awk '{$0=gensub( /foo/, "b..........

thanks :)
原来是这样!

CODE:
/home/lee#echo abc abc def|awk '{print gensub(/abc/,"ABC",2)}'
abc ABC def
/home/lee#echo abc abc def|sed 's/abc/ABC/2'
abc ABC def
/home/lee#

P.S:又学到真东西啦  谢谢waker指点 :em02:  :em02:



您对本贴的看法:

__________________________________


| | |
  帅哥
大天使




CU编号: 207236
注册:2004-12-13
最后登录: 2009-02-12
帖子:
精华:0







来自:天津
状态:...保密...

[] [] [博客]


[]     顶部
发表于 2005-1-29 14:00 

请教gensub的用法!

是gawk专有的函数么?



您对本贴的看法:

__________________________________

SUN E4500/SUN F4800/SUN V880
Solaris 8
KSH/NAWK/SED/VIM 6.3.3/perl 5.005_03
| | |
  帅哥
老法王


CU奥运火炬传递手2008
荣誉会员  
CU编号: 187152
注册:2004-10-1
最后登录: 2009-09-01
帖子:
精华:







来自:北京海淀
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2005-1-29 14:05 

请教gensub的用法!

[quote]原帖由 "一梦如是"]是gawk专有的函数么?[/quote 发表:

我的gawk就有这个 :em03:



您对本贴的看法:

__________________________________


| | |

风云使者



CU编号: 184616
注册:2004-9-19
最后登录: 2009-03-30
帖子:
精华:







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2005-1-29 18:11 

请教gensub的用法!

gensub最早做为gawk的扩展函数出现
现在几个AWK有我也不清楚

对waker的一点补充
2可以是g,等同与SED里的g,全局
不过没什么用,直接可以用gsub



您对本贴的看法:
| | |
  帅哥 (呆子)
荣誉版主-精灵使
3楼楼长


CU奥运火炬传递手2008
荣誉版主  
CU编号: 115226
注册:2003-11-27
最后登录: 2009-09-02
帖子:
精华:







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2005-1-29 20:30 

请教gensub的用法!

gensub有一个关键点和gsub,sub不一样,就是它的返回值是字串,并且不影响原字串。


上一篇:日志文档提取信息
下一篇:请教shell脚本参数的个数。[已解决]