分字段替换--求助
-
- 帖子: 61
- 注册时间: 2009-12-02 15:49
分字段替换--求助
有类似下边的文本
baicai.hangzhou.jiage.1
tudou.hangzhou.jiage.2
xigua.hangzhou.jiage.2
xigua.beijing.jiage.2
tudou.beijing.jiage.2
将第二列中的,hangzhou,beijing 替换为HZ,BJ。但是,如果在其他字段出现hangzhou或者beijing的时候,不去替换
如
xigua.hangzhou.hangzhoujiage.2
换为
xigua.HZ.hangzhoujiage.2
而不是
xigua.HZ.HZjiage.2
baicai.hangzhou.jiage.1
tudou.hangzhou.jiage.2
xigua.hangzhou.jiage.2
xigua.beijing.jiage.2
tudou.beijing.jiage.2
将第二列中的,hangzhou,beijing 替换为HZ,BJ。但是,如果在其他字段出现hangzhou或者beijing的时候,不去替换
如
xigua.hangzhou.hangzhoujiage.2
换为
xigua.HZ.hangzhoujiage.2
而不是
xigua.HZ.HZjiage.2
- trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
Re: 分字段替换--求助
awk -F. '{if($2!="beijing") $2="HZ" ;else $2="BJ"}1' ufile|tr -s ' ' '.'
baicai.HZ.jiage.1
tudou.HZ.jiage.2
xigua.HZ.jiage.2
xigua.BJ.jiage.2
tudou.BJ.jiage.2
baicai.HZ.jiage.1
tudou.HZ.jiage.2
xigua.HZ.jiage.2
xigua.BJ.jiage.2
tudou.BJ.jiage.2
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
- trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
Re: 分字段替换--求助
sed -e 's/[^^]hangzhou/.HZ/1' -e 's/[^^]beijing/.BJ/1' lines4
baicai.HZ.jiage.1
tudou.HZ.jiage.2
xigua.HZ.jiage.2
xigua.BJ.jiage.2
tudou.BJ.jiage.2
baicai.HZ.jiage.1
tudou.HZ.jiage.2
xigua.HZ.jiage.2
xigua.BJ.jiage.2
tudou.BJ.jiage.2
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
- 帖子: 627
- 注册时间: 2008-11-08 18:34
- trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
Re: 分字段替换--求助
^一般来讲是行首,但在[]中如果用在开头则是“非”,那么[^^]就是“非行首”,由于这个[^^]本身占据了一个字符的空间,则“.”也被匹配了。gzbao9999 写了:trigger:
[^^] :这个正则看不懂,看效果是从第一个.往后进行匹配
[]通常表示的是集合,还有其他解释?
给我讲讲吗
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
- 帖子: 627
- 注册时间: 2008-11-08 18:34
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
Re: 分字段替换--求助
代码: 全选
sed -re 's/(^.+?\.)beijing\./\1BJ./;s/(^.+?\.)hangzhou\./\1HZ./'
代码: 全选
] ls -ld //
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 分字段替换--求助
[^^] 是除了 ^ 以外的任意字符,在 [] 内部,^ 只有作为第一个字符才有意见,后一个 ^ 就是它本身了,不能代表行首。
-
- 帖子: 627
- 注册时间: 2008-11-08 18:34
Re: 分字段替换--求助
你是对的aerofox 写了:[^^] 是除了 ^ 以外的任意字符,在 [] 内部,^ 只有作为第一个字符才有意见,后一个 ^ 就是它本身了,不能代表行首。
气血鼓荡,身体发胀,偶飘上头,三时舒畅
- trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
Re: 分字段替换--求助
学习了aerofox 写了:[^^] 是除了 ^ 以外的任意字符,在 [] 内部,^ 只有作为第一个字符才有意见,后一个 ^ 就是它本身了,不能代表行首。
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
- 帖子: 61
- 注册时间: 2010-04-29 22:00
- 系统: Gentoo Linux ~amd64
- 联系:
Re: 分字段替换--求助
代码: 全选
#!/usr/bin/expect --
spawn -noecho -open [open FILE r]
log_user 0
expect {
-re "\[^\n]*\n" {
set arr [split [string trimright $expect_out(0,string) \n] .]
regsub -all beijing [lindex $arr 1] BJ a
regsub -all hangzhou $a HZ a
lset arr 1 $a
puts [join $arr .]
exp_continue
}
}