中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 09:50
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 模糊查找b.txt中的IP地址保存到c.txt需要大家完善
可打印版本  1,188 / 5
第1楼 ybxcyx 发表于 2007-12-31 22:52
初级用户 发帖 11 积分 26
模糊查找b.txt中的IP地址保存到c.txt需要大家完善
假如文件b.txt内容如下:
yuyuftttftfdhdhdhdhdhdhdhdhdh
fgffgfggfsssseeessfd196.168.002.001hhhhh

查找ip.bat 文件如下:
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=2,3 delims==/." %%i in ('findstr . b.txt') do (
set ybx=%%i.%%j
call 查找ip0.bat %ybx%
)
endlocal

查找ip0.bat 文件如下:
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /L %%i in (0,1,9) do find b.txt "%ybx%.00%%i" && ( set ybx=%ybx%.00%%i& goto ybx)
for /L %%i in (10,1,99) do find b.txt "%ybx%.0%%i" && ( set ybx=%ybx%.0%%i& goto ybx)
for /L %%i in (100,1,999) do find b.txt "%ybx%.%%i" && ( set ybx=%ybx%.%%i& goto ybx)
:ybx
call 查找ip1.bat %ybx%
cls
endlocal

查找ip1.bat 文件如下:
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /L %%i in (0,1,9) do find b.txt "00%%i.%ybx%" && (set ybx=00%%i.%ybx%& goto ybx)
for /L %%i in (10,1,99) do find b.txt "0%%i.%ybx%" && (set ybx=0%%i.%ybx%& goto ybx)
for /L %%i in (100,1,199) do find b.txt "%%i.%ybx%" && (set ybx=%%i.%ybx%& goto ybx)
:ybx
cls
echo %ybx%>c.txt
pause
endlocal

能够查到196.168.002.001保存到c.txt中,可是效率不高,并且196.168.2.1写的还不行.请高手帮忙,谢谢!
第2楼 slore 发表于 2007-12-31 23:57
铂金会员 发帖 2,478 积分 5,212
你先明确你的b.txt里的内容……是不是

无序字母+IP+无序字母……没有其他的杂的东西。。。如果这样话你把里面的数字和.提取出来就是IP了……
第3楼 everest79 发表于 2008-01-01 00:03
金牌会员 发帖 1,127 积分 2,564
第4楼 junchen2 发表于 2008-01-01 00:17
高级用户 发帖 219 积分 537 来自 杭州--半山
我这个可以吗?我没有测试文件

awk "{d=gensub(/[^0-9\.]/,\"\n\",\"g\",$0);print d}" test.txt | awk -F"\056" "{if(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/){if(length($1)<4&&length($2)<4&&length($3)<4&&length($4)<4&&$1<256&&$2<256&&$3<256&&$4<256)print $0}}"
第5楼 lxmxn 发表于 2008-01-02 14:18
版主 发帖 4,938 积分 11,386
第6楼 ybxcyx 发表于 2008-04-29 21:09
初级用户 发帖 11 积分 26
太感谢各位大侠啦,我虽然不懂,但还是为您们的诚意感动
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023