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

[文本处理] [已解决]批处理tokens怎样多次提取?

[复制链接]
发表于 2011-9-17 09:22:59 | 显示全部楼层 |阅读模式
有个txt文本文件,里面内容为
62.244.13.82:3128@HTTP#[C]乌克兰 Simferopol State University
62.244.13.110:3128@HTTP#[C]乌克兰 Simferopol State University
62.244.13.110:58@HTTP#[C]乌克兰 Simferopol State University
………………

我想通过批处理或者VBS之类的达到如下效果,希望变成这样:
62.244.13.0 62.244.13.255 3128
62.244.13.0 62.244.13.255 3128
62.244.13.0 62.244.13.255 58
…………

最好能够去除重复行,达到这样:
62.244.13.0 62.244.13.255 3128
62.244.13.0 62.244.13.255 58
…………


O(∩_∩)O谢谢



我自己编的,速度好慢,大家有更好的方法吗?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-9-17 09:44:11 | 显示全部楼层
发表于 2011-9-17 09:56:06 | 显示全部楼层
是否想过用一个FOR来搞定啊。为什么DELIMS每次仅指定一个分隔符

评分

参与人数 1技术 +1 收起 理由
super1129 + 1 谢谢

查看全部评分

 楼主| 发表于 2011-9-17 10:00:19 | 显示全部楼层
是否想过用一个FOR来搞定啊。为什么DELIMS每次仅指定一个分隔符
wc726842270 发表于 2011-9-17 09:56



    请指教啊,我是新手,只会一个个弄,难怪速度好慢。
 楼主| 发表于 2011-9-17 10:03:42 | 显示全部楼层
是否想过用一个FOR来搞定啊。为什么DELIMS每次仅指定一个分隔符
wc726842270 发表于 2011-9-17 09:56



    谢谢指点,原来DELIMS可以指定多个分隔符,搞定了,非常感谢啊,看来以后要好好学了
 楼主| 发表于 2011-9-17 21:11:05 | 显示全部楼层
本帖最后由 super1129 于 2011-9-17 21:14 编辑
看教程:
Batcher 发表于 2011-9-17 09:44



    请问管理员:如何对提取得到的%%c进行运算呢?
比如62.244.13.82:3128@HTTP#[C]乌克兰 Simferopol State University
我想得到62.244.8.0 62.244.18.255 3128
其中 8=13-5,18=13+5.
就是要对%%c进行加减后赋值,但是试了好久都提示错误,如何才是正确的赋值呢?以下是62.244.13.0 62.244.13.255 3128  的代码。
  1. @echo off
  2. echo 正在处理,请等待。。。。。。
  3. for /f "delims=.:@  tokens=1-5" %%a in ('type ip.txt') do echo %%a.%%b.%%c.0 %%a.%%b.%%c.255 %%e>>tmp.txt
  4. )
  5. (for /f "delims=" %%i in (tmp.txt) do (
  6.    if not defined "%%i" echo %%i&set ""%%i"=i"
  7. ))>IPrangge+port.txt
  8. del /q tmp.txt
  9. exit
复制代码
发表于 2011-9-18 21:22:34 | 显示全部楼层
  1. gawk -F "[.:@]+" "{print $1"."$2"."$3"."0,$1"."$2"."$3"."255,$5}" a.txt
复制代码
发表于 2011-9-18 21:25:35 | 显示全部楼层
去重复:
  1. gawk -F "[.:@]+" "{if(!a[$1 $2 $3 $5]++)print $1"."$2"."$3"."0,$1"."$2"."$3"."255,$5}" a.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 04:30 , Processed in 0.022213 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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