免费注册 查看新帖 |

Chinaunix

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

[文本处理] [正则表达示]以某字为关键定位之后某行入新的内容 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-20 18:36 |只看该作者 |倒序浏览
本帖最后由 peterdocter 于 2012-09-21 10:42 编辑


<div id="div_a1" style="display:block ">
<table width="620" border="0" cellpadding="0" cellspacing="0">
<tr bgcolor="#FFFFFF">
<td width="100"><div id="zibg"><p class="U4E48" style="background:url(/Upload/Zi/KaiShu/21/4E48.gif
) no-repeat;width:100px;height:94px;"></p></div></td>
<td width="510" style="padding-left:10px">
<p class="text15">
『么』  <span class="b">繁体字:</span><a href="entry://麼" class="a16fan">麼</a>&nbsp;&nbsp;<a href="entry://麽" class="a16fan">麽</a><br />
<span class="b">拼音:</span><span class="pinyin">me<a href="sound://me.spx"><img align="absmiddle" border="0" src="/audio.gif"></a></span> <span class="b">注音:</span><span class="pinyin">e<a href="sound://me.spx"><img align="absmiddle" border="0" src="/audio.gif"></a></span><br />
<span class="b">部首:</span>丿 <span class="b">部首笔画:</span>1 <span class="b">总笔画:</span>3<br /><span class="b">康熙字典笔画</span>( 么:3;麼:14; )
</p></td>
</tr>
</table>
<p class="text16">
<span class="b">五笔86:</span>TCU  <span class="b">五笔98:</span>TCU  <span class="b">仓颉:</span>HI <br />
<span class="b">四角号码:</span>20732  <span class="b">UniCode:</span>U+4E48 <span class="b">规范汉字编号:</span>0048<br />
</p>
<p><br /><hr class="hr" /><br /></p>
<div class="text16"><span class="zi18b">◎ 民俗参考</span><br />汉字五行:水 是否为常用字:否<br />姓名学:非姓氏<br />
<div class="text16"><span class="zi18b">◎ 字形结构</span><br />[ <span class="b">首尾分解查字</span> ]:丿厶(piesi)
 [ <span class="b">汉字部件构造</span> ]:么
<br />[ <span class="b">笔顺编号</span> ]:354<br />
[ <span class="b">笔顺读写</span> ]:撇折捺<br />

                [ <span class="b">汉字结构</span> ]:独体结构<br />
<span class="zi18b">◎ 其它读音</span><br />
[ <span class="b">广州话</span> ]:么[maa1]
<a href="sound://cantonesemaa1.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">广州话</span> ]:么[mo1]
<a href="sound://cantonesemo1.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">闽南话</span> ]:么[iao1]
<a href="sound://taiwaneseiao1.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">闽南话</span> ]:么[iou1]
<a href="sound://taiwaneseiou1.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">闽南话</span> ]:么[mo1]
<a href="sound://taiwanesemo1.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">闽南话</span> ]:么[mo2]
<a href="sound://taiwanesemo2.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">闽南话</span> ]:么[mo3]
<a href="sound://taiwanesemo3.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">潮州话</span> ]:么[moh4]
<a href="sound://chaozhouesemoh4.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">潮州话</span> ]:么[mo7]
<a href="sound://chaozhouesemo7.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">苏州话</span> ]:么[moh23]
<a href="sound://suzhouesemoh23.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">上海话</span> ]:么[io]
<a href="sound://shanghaieseio.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">上海话</span> ]:么[moq]
<a href="sound://shanghaiesemoq.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">上海话</span> ]:么[mu]
<a href="sound://shanghaiesemu.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
[ <span class="b">广韵</span> ]:么[muax]
<a href="sound://traditionalchinesemuax.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
                <table width="96%" height="223" border="0" align="center" cellpadding="0" cellspacing="0">

以“么”关键字定位到以<table width="96%" height="223" border="0" align="center" cellpadding="0" cellspacing="0">为结束。在这行之上插入新一行内容


........
<div>在这里插入内容</div>
<a href="sound://traditionalchinesemuax.spx"><img align="absmiddle" border="0" src="/audio.gif"></a><br />
                <table width="96%" height="223" border="0" align="center" cellpadding="0" cellspacing="0">

请这样的正则表达示如何写?用sed可否做到?


再说一个简单例子
1
2
3
4
5
10
11
13

现在要在1-10范围内,而且必须是在10之前插入一个6
就变成
1
2
3
4
5
6 -->插入到这里
10
11
13
我的问题大致也是这个意思,1是索引值是可变的。10是固定值值。
就是像数据库搜索一样,先找到索引值再固定要插入范围。最后通过固定值确定插入位置。

要满足两个条件才进行插入操作
第一个条件1 [可变] 这个是输入值或循环值
第二个条件10  [固定]

1-10范围之内,才进行10插入6
或不只是在10上面进入6

论坛徽章:
0
2 [报告]
发表于 2012-09-20 20:05 |只看该作者
看不懂你的问题。要插“aaaaaa”到exp上面可以用
  1. sed ‘/exp/i\aaaaaa’ file
复制代码

论坛徽章:
0
3 [报告]
发表于 2012-09-21 09:21 |只看该作者
回复 2# smallpboy

首先多你,你回答!
不过这样只是一个关键字入插...
再说一个简单例子
1
2
3
4
5
10
11
13

现在要在1-10范围内,而且必须是在10之前插入一个6
就变成
1
2
3
4
5
6 -->插入到这里
10
11
13
我的问题大致也是这个意思,原是1是索引值是可变的。10是固定值值。
就是像数据库搜索一下,先找找到索引值再固定要插入范围。再通过固定值确定插入位置。   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2012-09-21 09:38 |只看该作者
回复 3# peterdocter
  1. sed '0,/10/ s/^10$/6\n&/' urfile
复制代码

论坛徽章:
0
5 [报告]
发表于 2012-09-21 09:51 |只看该作者
回复 4# Shell_HAT

奇怪什么效果都没有
   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
6 [报告]
发表于 2012-09-21 10:13 |只看该作者
回复 5# peterdocter


    什么操作系统?sed什么版本?测试数据和测试结果贴出来看看

论坛徽章:
0
7 [报告]
发表于 2012-09-21 10:24 |只看该作者
你这例子给的真大  真是大呀 真是大~

论坛徽章:
0
8 [报告]
发表于 2012-09-21 10:27 |只看该作者
回复 4# Shell_HAT

刚刚是数据问题,现在好了!
不过为什么第一个是0,或不是1,
   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
9 [报告]
发表于 2012-09-21 10:34 |只看该作者
回复 8# peterdocter


    0是为了防止第一行就是10;如果你确定10不会出现在第一行,可以把0改成1

论坛徽章:
0
10 [报告]
发表于 2012-09-21 10:35 |只看该作者
Shell_HAT 发表于 2012-09-21 09:38
回复 3# peterdocter

这样写尝试了多次,发现就算1索引值不存在。10还是被替换了,第一句好像变的可有可无
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP