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

[文本处理] 批处理如何替换和删除字符?

比如一个文本是下面的内容:
-------------------------------------------------------------------------------
Performing Time: 6/9/2010 14:37:37 --> SYN Scan: About To Scan 16777216 IP For 64728 Ports Using 1 Thread
192.89.44.64      80  Open            
192.254.206.38    8080  Open            
192.154.227.79    91  Open            
192.130.122.203   81  Open            
192.52.32.18      8081  Open            
192.47.204.11     8082  Open            
192.49.15.136     8088  Open            
192.246.200.213   9090  Open            
192.225.42.105    21  Open            
192.31.217.95     22  Open            
192.49.15.136     23  Open            
92.245.126.104   25  Open            
192.168.248.230   100  Open            
Scan 23 IPs Complete In 0 Hours 0 Minutes 22 Seconds. Found 13 Hosts
-------------------------------------------------------------------------------

我想把以上内容整理为:
192.89.44.64:80
192.254.206.38:8080
192.154.227.79:91
192.130.122.203:81
192.52.32.18:8081
192.47.204.11:8082
192.49.15.136:8088
192.246.200.213:9090
192.225.42.105:21
192.31.217.95:22
192.49.15.136:23
92.245.126.104:25     
192.168.248.230:100

请教高手应该怎么写批处理?请高手帮忙解答一下,谢谢

  1. gawk "/^[1-9]/{print $1\":\"$2}" 1.txt >2.txt
复制代码

TOP

for /f "tokens=1,2" %%a in (1.txt) do echo %%a:%%b>>2.txt

然后把第一行和最后一行删掉

TOP

回复 3楼 的帖子

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

TOP

@echo off
for /f "tokens=1,2 delims= " %%a in ('findstr /i /c:"open" 1.txt') do echo %%a:%%b >>2.txt
努力学习,努力挣分

TOP

问题解决了,能加上过滤重复行吗?

TOP

1,“ip”重复删除:
  1. @echo off
  2. (for /f "tokens=1-3" %%a in (1.txt) do if /i "%%c"=="Open" if not defined %%a echo.%%a:%%b&set %%a==)>2.txt
复制代码
2,“ip:端口”重复删除:
  1. @echo off
  2. (for /f "tokens=1-3" %%a in (1.txt) do if /i "%%c"=="Open" if not defined %%a:%%b echo.%%a:%%b&set %%a:%%b==)>2.txt
复制代码

[ 本帖最后由 hanyeguxing 于 2010-6-9 22:44 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

谢谢各位朋友,已经解决了

TOP

返回列表