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

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

有一个文件,取一小段
....
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
1

评分人数

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

@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兄提供,能不能再精简

TOP

新人没看懂!

TOP

顶,请高手帮忙

TOP

返回列表