免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5145 | 回复: 16
打印 上一主题 下一主题

[文本处理] 【sed】用sed替换匹配的关键字下面的指定行的内容 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-24 15:21 |只看该作者 |倒序浏览
例如: 在文件中找到以Multi_Processes结尾的关键字, 替换其下面的第10行中的1为10

sed '/Multi_Processes.$/,+10d s/\(<td><span class="STYLE10">1</span></td>\)/\<td><span class="STYLE10">10</span></td>/'


这样写运行报错 :sed: -e expression #1, char 25: extra characters after command


麻烦请看看 谢谢!

论坛徽章:
7
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序设计版块每日发帖之星
日期:2015-08-09 06:20:00每日论坛发贴之星
日期:2015-08-09 06:20:00程序设计版块每日发帖之星
日期:2015-08-22 06:20:00程序设计版块每日发帖之星
日期:2015-08-27 06:20:00
2 [报告]
发表于 2015-08-24 15:56 |只看该作者
呃,你这个问题还挺多的。。 匹配的时候ocesses.$这里好像不应该有”.”
+10d 和 s之间要有分号
而且看你的描述和你的code好像不是一致。
你最好还是把sample文本和需求仔细贴出来吧

论坛徽章:
0
3 [报告]
发表于 2015-08-24 16:02 |只看该作者
谢谢!

需求就是: 文件中找到以包含Multi_Processes的关键字,替换其下面的第10行中的1为10。

sample:

        <tr><td rowspan="5"><span class="STYLE9"><p><a name=Hotspot_Test_Compress_file_Multi_Processes>Hotspot_Test_Compress_file_Multi_Processes</a></p></span></td>
        <td><span class="STYLE10">runMode</span></td>
        <td><span class="STYLE10">continuous</span></td>
        <td rowspan="5"><span class="STYLE10">JVM argument</span></td>
        <td rowspan="2"><span class="STYLE10">Hotspot: -Xmx2g-Xms2g -XX:NewSize=768M -XX:+HeapDumpOnOutOfMemoryError</span></td>
        <td><span class="STYLE10">threads-max</span></td>
        <td><span class="STYLE10">95635</span></td></tr>

        <tr><td><span class="STYLE10">durationHour</span></td>
        <td><span class="STYLE10">2</span></td>"
        <td><span class="STYLE10">stack size</span></td>
        <td><span class="STYLE10">8192</span></td></tr>

        <tr><td><span class="STYLE10">processors</span></td>
        <td><span class="STYLE10">1</span></td>

论坛徽章:
16
CU十二周年纪念徽章
日期:2013-10-24 15:41:3415-16赛季CBA联赛之广东
日期:2015-12-23 21:21:55青铜圣斗士
日期:2015-12-05 10:35:30黄金圣斗士
日期:2015-11-26 20:42:16神斗士
日期:2015-11-19 12:47:50每日论坛发贴之星
日期:2015-11-18 06:20:00程序设计版块每日发帖之星
日期:2015-11-18 06:20:002015亚冠之城南
日期:2015-11-10 19:10:492015亚冠之萨济拖拉机
日期:2015-10-28 18:47:282015亚冠之柏太阳神
日期:2015-08-30 17:21:492015亚冠之山东鲁能
日期:2015-07-07 18:48:39摩羯座
日期:2014-08-29 23:01:42
4 [报告]
发表于 2015-08-24 16:12 |只看该作者
回复 3# cgiyan


   数据不对吧 你给的

论坛徽章:
0
5 [报告]
发表于 2015-08-24 16:14 |只看该作者
写错了  是找到匹配Multi_Processes的关键字,替换其下面的第12行中的1为10

论坛徽章:
7
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序设计版块每日发帖之星
日期:2015-08-09 06:20:00每日论坛发贴之星
日期:2015-08-09 06:20:00程序设计版块每日发帖之星
日期:2015-08-22 06:20:00程序设计版块每日发帖之星
日期:2015-08-27 06:20:00
6 [报告]
发表于 2015-08-24 16:37 |只看该作者
你是不是想把processors下面的1改成12啊?因为我感觉你的xml里面可能不只一个Hotspot_Test_Compress_file_Multi_Processes项吧。。你能确定你要的processors都是在相应的第12行上?回复 5# cgiyan


   

论坛徽章:
0
7 [报告]
发表于 2015-08-24 16:40 |只看该作者
是的.都在第12行上 这个没问题的。

论坛徽章:
7
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序设计版块每日发帖之星
日期:2015-08-09 06:20:00每日论坛发贴之星
日期:2015-08-09 06:20:00程序设计版块每日发帖之星
日期:2015-08-22 06:20:00程序设计版块每日发帖之星
日期:2015-08-27 06:20:00
8 [报告]
发表于 2015-08-24 16:50 |只看该作者
  1. sed '/Multi_Processes/{n;n;n;n;n;n;n;n;n;n;n;n;s/>1</>10</}'
复制代码
见笑见笑





论坛徽章:
0
9 [报告]
发表于 2015-08-24 16:53 |只看该作者
12个n  !!!

论坛徽章:
0
10 [报告]
发表于 2015-08-24 16:58 |只看该作者
貌似没有产生效果
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP