[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决]sed去除关键词之间的关键词

本帖最后由 hlzj88 于 2018-12-22 21:36 编辑

如题,假设文本内容为
     罗伯特不满:“我最近运气不好,<br>也不需要你让着我。<br>我不信和你打赌<br>会一直输。”<br>陆恪当时没在意,但晚上回到房间躺下,脑中有种若有似无的灵感在飘荡着。<br>罗伯特没有回答,而是继续问道:“想要有一个更大舞台么?<br>”<br>陆恪吃惊:“啊?”

上句为人为制造,可见,有三对完整引号,如果按这样断行,不符合正常断句。因此只去除引号内的<br>,其他保留,基本符合常规断句。
谢谢!

以上是原问题,经why帮助已解决,代码在2楼。因我的sed版本问题导致不能成功,所以更新了sed。
同时发现新问题,使用sed4.4版本后,处理较多,较大文件时,这个sed相比原来的sed(版本不清楚,大小234K)在速度上变得明显慢了。为了速度,使用原来的sed后,直接出现Program too big to fit in memory错误,这个版本的sed不能使用了,经两台重装系统后都发现老sed也不能用了,错误同前。匪夷所思。
本意提醒大家注意到这样的问题,版主热情关心,建议把我的工具发到首页,忘能有大家帮助共同解决。特补充内容到三楼,期待热心人帮助。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
目的,学习批处理

本帖最后由 hlzj88 于 2018-12-22 22:27 编辑

回复 2# WHY

这个代码是专职 从网页文件提取正文的。

1网页提取.bat  设计要使它能兼容不同网页编码,不同行长,gizp压缩网页,不同排版。使提取的网页正文尽量干净。产生是文本要通过重新排版,使内容更符合常规断句。要求能独立运行,也可被别的文件调用。

附件已上传,http://www.bathome.net/attachmen ... XhxTUo4dzd1WQ%3D%3D
目的,学习批处理

TOP

回复 4# Batcher
已重新举例。
回复 5# 523066680
你说的是,对正则表达一头雾水,sed使用也浅。好吧,不给自己找理由。也谢谢你。
目的,学习批处理

TOP

回复 7# WHY

应Batcher版主提议,已修改一楼的例句,可能能代表更实际的复杂情况。你的代码测试可去掉 舞台 那句里的,第一句反复执行无变化。
谢谢。麻烦你再看看。
目的,学习批处理

TOP

回复 9# WHY
非常感谢你,通过比较和怀疑,重新下载了sed 4.4版本,二楼代码一次成功。原来是我的sed有不足。系统win7
目的,学习批处理

TOP

补充,sed4.4的处理速度不敢恭维,整体慢了很多。    想放弃,但是替换回原sed后,运行出错,大意是文件太大不能载入吧。重装两台电脑也是同样问题。
理论上应该是不可能的问题,毕竟发生了。不想这样来联系问题,但的确是几乎没有做其他事情就这样了。
有看到的,可以参考为戒。
目的,学习批处理

TOP

回复 13# Batcher

先谢谢12楼tigerpower

回版主:网络小说下载合并处理,因sed的替换等很方便,且有回车效果,处理很方便,所以使用sed。文件不大,十几K的小文件,为提速,避免多个文件单独处理需多次启动sed和其他命令,采取n合1方式,加限制,每个合并后文件不大于2.5M。替换后sed后运行发现整体速度明显下降。于是打算重新用原来版本的sed,出现Program too big to fit in memory提示,已不能处理文件。对于十几K的小文件,sed也会出现这提示,已不能处理文件。百度无解,用新sed可工作就是慢的着急。刚好也打算重做系统,一并解决。但重装后使用老sed,发现已不能如前顺利处理。怀疑在单位重复上面的经过,同样结果。不明原因。也无力深究。
目的,学习批处理

TOP

回复 15# Batcher

组件形式,单独上传了提取网页的bat
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
目的,学习批处理

TOP

本帖最后由 hlzj88 于 2018-12-24 21:25 编辑

回复 18# WHY
回复 19# tigerpower
谢谢,谢谢。
@why:实践表明,sed几个替换同一语句的用法,最稳妥的是一次4个连用,多了也会错的,也许这也是和版本有关系,不清楚了。
目的,学习批处理

TOP

回复 21# Batcher
谢谢指导,尝试加 -e 可以多个替换一次处理

另,通过每句命令加暂停,观察到 sed ":a;N;s/\n//;ba;" 1.txt>2.txt 当文件较大时,极度耗时间。已另思路解决。几秒。
目的,学习批处理

TOP

返回列表