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

[文本处理] 批处理怎样提取IP?

源数据a.txt
  1. | 92.61.60.39:8888    | FPPX-2.10.1(10.7.0)                                          | ntk    |
  2. | 93.61.233.78:8888   | FPPX-2.9.0(1.6.2.13)                                         | ntk    |
  3. | 94.61.233.15:8888   | FPPX-2.9.0(1.6.2.13)                                         | ntk    |
  4. | 95.61.138.148:5060  | AVM Fon(Nov 18 2009)                                     | ntk    |
  5. | 96.61.138.119:5060  | Annex A 58.04.78                                         | ntk    |
  6. | 97.61.51.150:5060   | SPA2-5.2.10                                              | ntk    |
  7. | 98.61.114.134:5060  | Ast1.8.4.4~dfsg-2                                        | ntk    |
复制代码
目标数据 b.txt
  1. 92.61.60.39
  2. 93.61.233.78
  3. 94.61.233.15
  4. 95.61.138.148
  5. 96.61.138.119
  6. 97.61.51.150
  7. 98.61.114.134
复制代码
不知道 findstr加正则 能否实现 或者是有其他什么好办法 而且ip后面的数据中有(1.6.2.13)这样的内容 也许应该重点排除一下 请各位大侠不吝赐教啊

回复 4# weichenxiehou


    谢谢你的建议 我是个纯新手 这个工具还没有接触过 一定安装了体验一下

TOP

回复 3# syy718888
要想快一点就用第三方工具sed咯,通过IP地址前面的空格和后面的冒号来判断是否为想要的:
  1. sed -nr "s/.* (([0-9]{1,3}\.){3}[0-9]{1,3}):.*/\1/p" a.txt>b.txt
复制代码
看得多说得多,远比不上写得多。

TOP

二楼的朋友的办法感觉很适合这个例子 就是我的文档都比较大 处理速度会有些跟不上 不知还有没有更好的办法

TOP

  1. for /f "tokens=2 delims=: " %%a in ('findstr ":" a.txt') do echo %%a>>b.txt
复制代码
回复 1# syy718888
Still with wax

TOP

返回列表