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

[文本处理] [已解决] 批处理如何在文件中筛选,配对?

[复制链接]
发表于 2011-9-7 12:52:26 | 显示全部楼层 |阅读模式
有一个文件,取一小段
....
Internet  192.27.219.1     1         0021.973f.45ee  arpa   FastEthernet 6/0.470
Internet  192.27.219.30    --        001a.a93a.20f9  arpa   FastEthernet 6/0.470
Internet  192.27.220.5     14        0040.481c.fbe0  arpa   FastEthernet 6/0.440
Internet  192.27.220.3     0         0013.c44a.7615  arpa   FastEthernet 6/0.440
Internet  192.27.220.30    --        001a.a93a.20f9  arpa   FastEthernet 6/0.440
....
470        0021.973f.45ee       DYNAMIC  FastEthernet 5/20
399        001a.a93a.20f9       DYNAMIC  GigabitEthernet 6/25
400        0001.29a3.d4ea       DYNAMIC  FastEthernet 6/17
400        0001.29a3.d4ee       DYNAMIC  FastEthernet 6/14
400        0001.29a3.de47       DYNAMIC  FastEthernet 6/23
400        0001.6c9f.43ff       DYNAMIC  FastEthernet 6/2
...
批处理如何能筛选相应的MAC地址,并配对IP相关行,把"DYNAMIC"改写为相应的IP地址

470        0021.973f.45ee       192.27.219.1  FastEthernet 5/20
399        001a.a93a.20f9       192.27.219.30  GigabitEthernet 6/25
400        0001.29a3.d4ea       192.27.208.23  FastEthernet 6/17
400        0001.29a3.d4ee       192.27.208.25  FastEthernet 6/14
400        0001.29a3.de47       192.27.208.24  FastEthernet 6/23
400        0001.6c9f.43ff          192.27.208.10  FastEthernet 6/2
或者不改"DYNAMIC",在后面增加"空格+IP地址"

470        0021.973f.45ee       DYNAMIC  FastEthernet 5/20 192.27.219.1
399        001a.a93a.20f9       DYNAMIC  GigabitEthernet 6/25 192.27.219.30
400        0001.29a3.d4ea       DYNAMIC  FastEthernet 6/17 192.27.208.23
400        0001.29a3.d4ee       DYNAMIC  FastEthernet 6/14 192.27.208.25
400        0001.29a3.de47       DYNAMIC  FastEthernet 6/23 192.27.208.24
400        0001.6c9f.43ff       DYNAMIC  FastEthernet 6/2 192.27.208.10

评分

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

查看全部评分

 楼主| 发表于 2011-9-8 10:36:02 | 显示全部楼层
顶,请高手帮忙
发表于 2011-9-8 11:02:37 | 显示全部楼层
新人没看懂!
 楼主| 发表于 2011-9-13 13:55:29 | 显示全部楼层
@echo off
findstr FastEthernet wkdxz.txt >3.txt
findstr /v /c:"/24" 3.txt >output.txt  

先把含FastEthernet的行生成一个文件,再把含"/24"的行删,保存为OUTPUT.TXT ,原需求贴在
http://www.bathome.net/thread-13900-1-1.html
因为24和25口为级联,可不统计
跟着
@echo off&setlocal enabledelayedexpansion
rem 初始文本
for /f "tokens=2,4 delims= " %%i in ('type "%~dp0output.txt" ^|findstr /i /m "internet amd"') do set "%%j=%%i"
REM 成文本中簺选出 預取理文本  并按此生存符合要求的文本
(for /f "tokens=1,2,3* delims= " %%i in ('type "%~dp0output.txt" ^|find /i "DYNAMIC"') do echo.%%i  %%j  !%%j!  %%l)>"%~dp0IP_MAC.txt"

IP_mac.txt为所需文件了,(以上代码为无优论坛x9tian兄提供,能不能再精简
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 06:16 , Processed in 0.023923 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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