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

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

有个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谢谢



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

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

是否想过用一个FOR来搞定啊。为什么DELIMS每次仅指定一个分隔符
1

评分人数

枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

是否想过用一个FOR来搞定啊。为什么DELIMS每次仅指定一个分隔符
wc726842270 发表于 2011-9-17 09:56



    请指教啊,我是新手,只会一个个弄,难怪速度好慢。

TOP

是否想过用一个FOR来搞定啊。为什么DELIMS每次仅指定一个分隔符
wc726842270 发表于 2011-9-17 09:56



    谢谢指点,原来DELIMS可以指定多个分隔符,搞定了,非常感谢啊,看来以后要好好学了

TOP

本帖最后由 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
复制代码

TOP

  1. gawk -F "[.:@]+" "{print $1\".\"$2\".\"$3\".\"0,$1\".\"$2\".\"$3\".\"255,$5}" a.txt
复制代码

TOP

去重复:
  1. gawk -F "[.:@]+" "{if(!a[$1 $2 $3 $5]++)print $1\".\"$2\".\"$3\".\"0,$1\".\"$2\".\"$3\".\"255,$5}" a.txt
复制代码

TOP

返回列表