Board logo

标题: [文本处理] [已解决]批处理如何对比处理2个文本之间重复的内页域名? [打印本页]

作者: yiduancang    时间: 2012-3-31 18:02     标题: [已解决]批处理如何对比处理2个文本之间重复的内页域名?

各位大大 我有2个文本 假设为A B或者新 旧。。新文本里有http://www.bathome.net/1  http://www.bathome.net/2   这样的网站二级域名内页网址  然后旧文本里有http://www.bathome.net/123   http://www.bathome.net/4565  这样的网址  批处理有办法去除新文本里在旧的文本已经包含的二级域名吗?

再举个简单的例子  
比如我第一份文本里 有WWW.XXX.COM/123 第二份里有www.xxx.com/234
这样就判断为重复、、这样说来的简单点、、 对了。。因为要求的结果是二级域名保存下来。。所以没办法用一些手段去掉后面/123 内页域名 保留顶级域名 不然网上倒是有几款现成的软件可以处理

大概就是这样了 请问下各位大大神批处理能提取这样不重复的网址吗  或者直接删除新文本里跟旧文本比较起来重复的内容也行、、、重点是数据量比较大 十几W 几十W的网址这样。。处理多了会崩溃不  试用过notepad++这个文本神器。。。 可能是我太菜了 不会正则表达。 求解啊。。这个问题困扰我蛮久了。。日常工作中。。依靠人肉去 去重复实在太坑爹了。。。。 求大神解救于我水生火热之中。。拜谢。。
作者: batman    时间: 2012-3-31 19:50

说实话,看了半天硬是不明白楼主所说的重复概念。。。

问题倒是很简单。。。
作者: find    时间: 2012-3-31 21:59

请分别从两个文件里面各取10行真实数据贴出来,然后把你希望得到的结果也贴出来。
作者: yiduancang    时间: 2012-4-1 09:09

回复 3# find


   好的  可能我意思表达的不太清楚  假设下面10条网址是我的旧资源
http://pluesystem.com/seo.html
http://plumbingcosydney.com.au/links
http://pn-kuningan.go.id/node/2
http://pnsbfc.com/v2/node/118
http://pnwoutdoors.com/hunting/1380-meet-swingers-threesomes.html
http://pocketpaindoctor.com/?q=node/21
http://pocketpaindoctor2.corporateconstipation.com/?q=node/21
http://pocketshark.com/blog/page/joseshin?entry=wonderful_prospect_for_the_industry
http://pointspread.com/news/mlb/brandon-league-hasn’t-blown-closer’s-role-yet.html

再下面这10条是我的新资源
http://pluesystem.com/s23423523522424eo.html
http://plumbingcosydney.com.au/links114124141313412
http://pn-kuningan.go.id/node/222222222222222224241414
http://pnsbfc.com/v2/node/11812222222222124124
http://pnwoutdoors.com/hunting/1380-meet-swingers-threesomes.html14444411214

http://guardian.co.uk/books/2004/oct/27/booksforchildrenandteenagers
http://guardiannews.us
http://guccihoody.medykblog.pl
http://gudangfiles.com/showpads.php?cat=desktop::screen%20savers:%20other
http://guernicamag.com/blog/2133/okey_ndibe_my_debt_to_nigerias

然后这5个网址是我想要的结果
http://guardian.co.uk/books/2004/oct/27/booksforchildrenandteenagers
http://guardiannews.us
http://guccihoody.medykblog.pl
http://gudangfiles.com/showpads.php?cat=desktop::screen%20savers:%20other
http://guernicamag.com/blog/2133/okey_ndibe_my_debt_to_nigerias

我这样举例不知道版主和这位大大能否看明白没  你门仔细看就会发现 旧资源中有http://pluesystem.com/seo.html   而新资源中有http://pluesystem.com/s23423523522424eo.html  它们同是http://pluesystem.com 这个网站的内页域名。。。也就是说 我的排除条件 是建立在http://pluesystem.com 这种主域名上的 再说的土点 就是到.com(当然网址后缀不止是.com。。总之就是以网站主域名来判断)这里为判断是否重复条件  而不是看整条网址 这样不知道能否做到。。。提醒下 在下处理的数据量都是几十W级别的。。如果批处理的话 在数据量大的时候不知道会出错不  还望版主及各位大侠出手啊
作者: yiduancang    时间: 2012-4-1 09:10

回复 2# batman


哈哈 抱歉。。表达能力比较差= =! 例子我已经举例在楼下了 麻烦版主帮忙看下 谢谢。。
作者: ArdentMan    时间: 2012-4-1 09:21

本帖最后由 ArdentMan 于 2012-4-1 09:28 编辑

几十万条无法测试效率
  1. @Echo Off
  2. For /F "Tokens=2 Delims=/" %%a In (旧文本) Do Set "%%a=a"
  3. (For /F "Tokens=2* Delims=/" %%a In (新文本) Do (
  4.   If Not Defined %%a Echo http://%%a/%%b
  5. ))>$
  6. move $ 新文本
复制代码

作者: yiduancang    时间: 2012-4-1 17:18

回复 6# ArdentMan


测试了下 木有动静啊  文本命名为 新文本  旧文本
作者: yiduancang    时间: 2012-4-1 17:23

回复 6# ArdentMan

生成出来的文件 为 未知文件
作者: yiduancang    时间: 2012-4-1 17:39

回复 2# batman

召唤版主 各路神仙
作者: yiduancang    时间: 2012-4-7 09:49

哎 最终还是个朋友帮忙解决了 不过还是感谢上面的大大




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2