分页: 1 / 1

如何替换所有"*******"形式的字符串啊,谢谢![问题已解决]

发表于 : 2012-09-30 19:42
guang3000
要编辑的文档里面有几百个"*******"形式的字符串,*是字母或数字,

例如corAddCorner( "umc35" "ssss100" )

怎么把每个字符串后面加个相同字符_50m啊,

例如"ssss100"改为"ssss100_50m",请高手指点,谢谢!

Re: 如何替换所有"*******"形式的字符串啊,谢谢!

发表于 : 2012-09-30 20:02
枫叶饭团

代码: 全选

sed -i 's/sss100/&_50m/' file

Re: 如何替换所有"*******"形式的字符串啊,谢谢!

发表于 : 2012-09-30 20:03
cjxgm
如果是 vim:

代码: 全选

:%s/"\([^"]\+\)"/"\1_50m"/g
如果用 sed:

代码: 全选

sed -i 's/"\([^"]\+\)"/"\1_50m"/g' file.c
emacs 我不知道怎么做正则,我不是 emacs 用户

Re: 如何替换所有"*******"形式的字符串啊,谢谢!

发表于 : 2012-09-30 20:13
枫叶饭团

代码: 全选

sed "s/\w\{7\}/&_50m/"

Re: 如何替换所有"*******"形式的字符串啊,谢谢!

发表于 : 2012-09-30 20:14
guang3000
cjxgm 写了:如果是 vim:

代码: 全选

:%s/"\([^"]\+\)"/"\1_50m"/g
如果用 sed:

代码: 全选

sed -i 's/"\([^"]\+\)"/"\1_50m"/g' file.c
emacs 我不知道怎么做正则,我不是 emacs 用户

试了下,其它的字符串也变了,例如

corAddCorner( "umc35" "ssss100" )

变为了

corAddCorner( "umc35_50m" "ssss100_50m" )

我只需改变这后面格式的一共9个字符的字符串,能帮忙改下吗,谢谢!

Re: 如何替换所有"*******"形式的字符串啊,谢谢!

发表于 : 2012-09-30 20:16
cjxgm

代码: 全选

:%s/"\([^"]\{7\}\)"/"\1_50m"/g

Re: 如何替换所有"*******"形式的字符串啊,谢谢!

发表于 : 2012-09-30 20:18
枫叶饭团
那就成这样子了?

代码: 全选

sed 's/\"\(\w\{7\}\)\"/\1_50m/'

Re: 如何替换所有"*******"形式的字符串啊,谢谢!

发表于 : 2012-09-30 20:18
枫叶饭团
『我有一個問題,於是我想用正則,現在我有兩個問題。』

Re: 如何替换所有"*******"形式的字符串啊,谢谢!

发表于 : 2012-09-30 20:35
guang3000
cjxgm 写了:

代码: 全选

:%s/"\([^"]\{7\}\)"/"\1_50m"/g

问题解决了,谢谢大家!

Re: 如何替换所有"*******"形式的字符串啊,谢谢!

发表于 : 2012-09-30 20:48
gy619
emacs 有很多方法:
如果" ) 是固定的,可以直接用替换的方法,简单的很. 直接批量替换.
用正则也可以,大概就是匹配 \"\s\) ,正则替换