分页: 1 / 1
sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-16 19:01
由 shepx
例如我想将 AAA$BBB.CCC 替换成 AAA.DDD
就是把CCC替换成DDD, 把$和.CCC之间的删除。
不太会写shell,搞了半天都不正确,请高手帮个忙。
THX
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-16 19:36
由 cjxgm
代码: 全选
echo 'AAA$BBB.CCC' | sed 's/\(.*\)\$.*\.CCC\(.*\)/\1.DDD\2/g'
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-16 21:19
由 jarlyyn
sed "s/aaa.*ccc/aaa\.ddd/"
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-16 22:44
由 shepx
cjxgm 写了:代码: 全选
echo 'AAA$BBB.CCC' | sed 's/\(.*\)\$.*\.CCC\(.*\)/\1.DDD\2/g'
验证正解,谢谢1楼。
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-17 8:35
由 eexpress
没最小匹配的正则,都是没用的。
幸好sed缺省不跨行处理。
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-17 9:11
由 jarlyyn
eexpress 写了:没最小匹配的正则,都是没用的。
幸好sed缺省不跨行处理。
最小匹配?
懒惰匹配?
sed有啊。
我折腾过。跨行懒惰匹配
么什么问题
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-17 10:13
由 eexpress
我就是说你们上面的,没体现出来嘛。这应该是最基本要写出来的。lz却认为已经正确了。
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-17 14:44
由 cjxgm
shepx 写了:验证正解,谢谢1楼。

Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-17 15:41
由 jarlyyn
eexpress 写了:我就是说你们上面的,没体现出来嘛。这应该是最基本要写出来的。lz却认为已经正确了。
问题楼主也没说要懒惰啊……
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-17 21:17
由 我就是我2
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-18 1:02
由 fnan
echo 'AAA$BBB.CCC' | sed 's/\$[^$]*\.CCC/.DDD/g'
Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-08-19 14:22
由 shepx
cjxgm 写了:shepx 写了:验证正解,谢谢1楼。

E ... 笔误了 。。。 2楼

Re: sed删除两个关键字之间的文字怎么写
发表于 : 2011-09-03 0:31
由 我就是我2
代码: 全选
i='AAA$BBB.CCC'
echo ${i/\$*CCC/.DDD}
