Chinaunix
标题:
正则批量替换
[打印本页]
作者:
jackson_cu
时间:
2015-07-15 14:44
标题:
正则批量替换
大家好,
请问如果要批量替换xml文件中" <spec>H(35-37) H(2-2) * * *</spec>" 这部份内容为 " <spec>H(1-59) H(19-23) * * *</spec>"
还是正则不过关, 无法匹配到, 不知道要如何写.
find ./ -maxdepth 2 -name "config.xml" | xargs sed -i 's/xxx/<spec>H(1-59) H(19-23) * * *</spec>/g'
./dailybuild_BFC5.7.1_FAST3486AC_NET/config.xml: <spec>H(35-37) H(2-2) * * *</spec>
./dailybuild_BFC5.7.1_EMTA62-1_NCC/config.xml: <spec>H(35-37) H(2-2) * * *</spec>
./dailybuild_FAST3486AC_NET-PC20/config.xml: <spec>H(51-53) H(1-1) * * *</spec>
./dailybuild_FAST3286_SSC-US-SIP/config.xml: <spec>H(51-53) H(1-1) * * *</spec>
./dailybuild_FAST3286_SSC_debug/config.xml: <spec>H(51-53) H(8-
* * *</spec>
./dailybuild_BFC5.7.1_FAST3486AC_BCM/config.xml: <spec>H(35-37) H(2-2) * * *</spec>
./dailybuild_FAST3686_NCC/config.xml: <spec>H(51-53) H(1-1) * * *</spec>
./dailybuild_FAST3686_SSC-TEST/config.xml: <spec>H(21-23) H(2-2) * * *</spec>
./dailybuild_FAST3486AC_SSC-WFA/config.xml: <spec>H(11-13) H(3-3) * * *</spec>
./dailybuild_FAST3486AC_SSC/config.xml: <spec>H(11-13) H(3-3) * * *</spec>
./dailybuild_FAST3686_TLC/config.xml: <spec>H(21-23) H(2-2) * * *</spec>
./dailybuild_FAST3486AC_TLF/config.xml: <spec>H(21-23) H(2-2) * * *</spec>
./dailybuild_FAST3286_NET/config.xml: <spec>H(11-13) H(1-1) * * *</spec>
./dailybuild_FAST3286_BCM-SIP/config.xml: <spec>H(35-37) H(3-3) * * *</spec>
./dailybuild_FAST3486AC_SSC-TEST/config.xml: <spec>H(11-13) H(3-3) * * *</spec>
./dailybuild_FAST3286_SSC-O/config.xml: <spec>H(51-53) H(1-1) * * *</spec>
./dailybuild_FAST3486AC_STOFA-SIP/config.xml: <spec>H(11-13) H(1-1) * * *</spec>
作者:
haooooaaa
时间:
2015-07-15 14:51
本帖最后由 haooooaaa 于 2015-07-15 14:52 编辑
sed 's:(35-37) H(2-2:(1-59) H(19-23:' 1
复制代码
作者:
jackson_cu
时间:
2015-07-15 14:54
回复
2#
haooooaaa
对不起, 每个文件中的红色部份内容是不一样的, 要替换掉这一块.
<spec>
H(35-37) H(2-2) * * *
</spec>
作者:
songyc_2015
时间:
2015-07-15 15:02
回复
1#
jackson_cu
sed -r 's#<(spec)>[^<]+</\1>#<\1>H(1-59) H(19-23) * * *</\1>#'
复制代码
作者:
haooooaaa
时间:
2015-07-15 15:04
回复
3#
jackson_cu
里面的内容你可去改.
awk -F'<spec>|</spec>' '{if($2~/H\(35-37\) H\(2-2\)/){print $1"<spec>H(1-59) H(19-23) * * *</spec>"}else{print}}' 1
复制代码
比如这个, print 中间的...
作者:
jackson_cu
时间:
2015-07-15 15:15
回复
5#
haooooaaa
这个有点复杂, 如果只是想匹配红色部份的话, 正则该如何写才好?
作者:
Buring__
时间:
2015-07-15 15:30
回复
6#
jackson_cu
sed -r 's/H\([0-9]+-[0-9]+\) H\([0-9]+-[0-9]\) \* \* \*/ChinaUnix/'
复制代码
作者:
jackson_cu
时间:
2015-07-15 15:36
回复
7#
Buring__
对不起, 试了这个, 还是找不到
作者:
MMMIX
时间:
2015-07-15 15:56
回复
1#
jackson_cu
直接用
sed 's/spec>\([^<]*\)</spec>XXX</'
复制代码
作者:
聆雨淋夜
时间:
2015-07-15 16:09
sed -r 's#\<spec\>[^<]+\</spec\>#<spec>H(1-59) H(19-23) * * *</spec>#'
可以不可以
作者:
jackson_cu
时间:
2015-07-15 16:23
回复
10#
聆雨淋夜
对不起, 也不行. 没有匹配到.
作者:
聆雨淋夜
时间:
2015-07-15 16:52
回复
11#
jackson_cu
没关系。
作者:
vcdtwo
时间:
2015-07-16 09:37
@gaokeke123
作者:
leijskg
时间:
2015-07-16 09:56
提示:
作者被禁止或删除 内容自动屏蔽
作者:
九方流云
时间:
2015-07-18 17:00
sed -r 's/H\(35-37\) H\(2-2\)/H(1-59) H(19-24)/' urfile
这个咋样?
作者:
wh7211
时间:
2015-07-19 14:08
本帖最后由 wh7211 于 2015-07-19 14:10 编辑
sed -r 's/H\([0-9]+-[0-9]+\) H\([0-9]+-[0-9]+\)/H(1-59) H(19-23)/' file
复制代码
作者:
dolinux
时间:
2015-07-19 22:12
本帖最后由 dolinux 于 2015-07-19 22:13 编辑
sed 's/([0-9]\{1,\}-[0-9]\{1,\}) H([0-9]\{1,\}-[0-9]\{1,\})/(1-59) H(19-23)/g' urfile
mengalong@mengalongdeMacBook-Air ~$ cat urfile
./dailybuild_BFC5.7.1_FAST3486AC_NET/config.xml: <spec>H(35-37) H(2-2) * * *</spec>
./dailybuild_BFC5.7.1_EMTA62-1_NCC/config.xml: <spec>H(35-37) H(2-2) * * *</spec>
./dailybuild_FAST3486AC_NET-PC20/config.xml: <spec>H(51-53) H(1-1) * * *</spec>
./dailybuild_FAST3286_SSC-US-SIP/config.xml: <spec>H(51-53) H(1-1) * * *</spec>
./dailybuild_FAST3286_SSC_debug/config.xml: <spec>H(51-53) H(8- * * *</spec>
./dailybuild_BFC5.7.1_FAST3486AC_BCM/config.xml: <spec>H(35-37) H(2-2) * * *</spec>
./dailybuild_FAST3686_NCC/config.xml: <spec>H(51-53) H(1-1) * * *</spec>
./dailybuild_FAST3686_SSC-TEST/config.xml: <spec>H(21-23) H(2-2) * * *</spec>
./dailybuild_FAST3486AC_SSC-WFA/config.xml: <spec>H(11-13) H(3-3) * * *</spec>
./dailybuild_FAST3486AC_SSC/config.xml: <spec>H(11-13) H(3-3) * * *</spec>
./dailybuild_FAST3686_TLC/config.xml: <spec>H(21-23) H(2-2) * * *</spec>
./dailybuild_FAST3486AC_TLF/config.xml: <spec>H(21-23) H(2-2) * * *</spec>
./dailybuild_FAST3286_NET/config.xml: <spec>H(11-13) H(1-1) * * *</spec>
./dailybuild_FAST3286_BCM-SIP/config.xml: <spec>H(35-37) H(3-3) * * *</spec>
./dailybuild_FAST3486AC_SSC-TEST/config.xml: <spec>H(11-13) H(3-3) * * *</spec>
./dailybuild_FAST3286_SSC-O/config.xml: <spec>H(51-53) H(1-1) * * *</spec>
./dailybuild_FAST3486AC_STOFA-SIP/config.xml: <spec>H(11-13) H(1-1) * * *</spec>
mengalong@mengalongdeMacBook-Air ~$ sed 's/([0-9]\{1,\}-[0-9]\{1,\}) H([0-9]\{1,\}-[0-9]\{1,\})/(1-59) H(19-23)/g' urfile
./dailybuild_BFC5.7.1_FAST3486AC_NET/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_BFC5.7.1_EMTA62-1_NCC/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3486AC_NET-PC20/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3286_SSC-US-SIP/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3286_SSC_debug/config.xml: <spec>H(51-53) H(8- * * *</spec>
./dailybuild_BFC5.7.1_FAST3486AC_BCM/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3686_NCC/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3686_SSC-TEST/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3486AC_SSC-WFA/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3486AC_SSC/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3686_TLC/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3486AC_TLF/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3286_NET/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3286_BCM-SIP/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3486AC_SSC-TEST/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3286_SSC-O/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
./dailybuild_FAST3486AC_STOFA-SIP/config.xml: <spec>H(1-59) H(19-23) * * *</spec>
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2