找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24310|回复: 5

[文本处理] 批处理如何批量提取文本中的域名地址?

[复制链接]
发表于 2012-10-24 13:09:27 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-7 22:51 编辑

http://www.autohome.com.cn/102/
http://newcar.xcar.com.cn/731/
http://db.auto.sohu.com/model_1445/
http://car.bitauto.com/ym/
http://data.auto.sina.com.cn/657
http://data.auto.qq.com/car_serial/280/index.shtml
http://www.yemaauto.cn/
http://www.chexun.com/mustang/
http://db.auto.sohu.com/model_1335/


软件整理后的内容如上,但是我的目标是指获取地址,而不需要页面内容,而且最好能去重复文本中的地址


处理后的目标如下:

http://www.autohome.com.cn
http://newcar.xcar.com.cn
http://db.auto.sohu.com
http://car.bitauto.com
http://data.auto.sina.com.cn
http://data.auto.qq.com
http://www.yemaauto.cn
http://www.chexun.com
http://db.auto.sohu.com

如果文本内有相同的域名,最好也同时去重复,并保存为2.txt
发表于 2012-10-24 15:05:43 | 显示全部楼层

  1. @echo off
  2. cd.>2.txt
  3. For /f "tokens=2* delims=/" %%a IN (a.txt) do (
  4. for /f "delims=" %%i in ('echo http://%%a') do (
  5. find /i "%%i" 2.txt||echo %%i>>2.txt
  6. ))
复制代码
发表于 2012-10-24 21:21:30 | 显示全部楼层
本帖最后由 韩立 于 2012-10-24 21:38 编辑

假设要处理的文本为1.txt,没实现去除重复。
  1. @echo off
  2. for /f "tokens=1-2 delims=/" %%i in (1.txt) do echo %%i//
  3. %%j >>2.txt
  4. del 1.txt & ren 2.txt 1.txt
复制代码
参照二楼修改了一下
  1. @echo off
  2. cd.>2.txt
  3. for /f "tokens=1-2 delims=/" %%i in (1.txt) do (
  4. find /i "%%i//%%j" 2.txt||echo %%i//%%j >>2.txt)
  5. del 1.txt & ren 2.txt 1.txt
复制代码
发表于 2012-10-25 04:54:29 | 显示全部楼层
去除重复
if not define %%i (echo %%i&&set %%i=#)
不过得放在适当的位置
发表于 2012-10-25 10:32:11 | 显示全部楼层
回复 3# 韩立
  1. echo %%i//%%j >>2.txt
复制代码
这种写法的问题在于行尾有多余的空格,可以改成:
  1. >>2.txt echo %%i//%%j
复制代码
还有这两句:
  1. del 1.txt & ren 2.txt 1.txt
复制代码
可以合并成:
  1. move /y 2.txt 1.txt
复制代码
发表于 2012-10-25 10:33:28 | 显示全部楼层
回复 2# andyrave


    find的效率太低了,建议参考4楼define的方法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 07:45 , Processed in 0.031567 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表