中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 18:17
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 帮忙把2份P合成1份得到想要的格式? 查看 649 回复 2
楼 主 帮忙把2份P合成1份得到想要的格式? 发表于 2007-12-07 19:18 ·  中国 广东 广州 花都区 电信
初级用户
★★
积分 197
发帖 77
注册 2006-09-19 14:02
19年会员
UID 63074
性别 男
状态 离线
arp.txt内容:
192.168.0.4 00:1C:F1:00:65:7F

192.168.0.238 00:1C:F1:00:68:84

192.168.0.42 00:1C:F1:00:69:54

192.168.0.41 00:1C:F1:00:97:80

192.168.0.22 00:1C:F1:00:68:80

要求输出格式:00-1C-F1-00-65-7F=192.168.0.4|s004
00-1C-F1-00-68-84=192.168.0.238|s238

的出代码有2份想合成一段输出成:00-1C-F1-00-65-7F=192.168.0.4|s004
1:
setlocal enabledelayedexpansion
for /f "tokens=1-2 delims= " %%a in (arp.txt) do (
set aa=%%b
set aa=!aa::=-!
set cc=
set "cc=!aa!=%%a|"
echo !cc!>>arp.ini
)
2:
setlocal enabledelayedexpansion
for /f "tokens=4 delims=.|" %%a in (arp.ini) do (
set aa=000
set bb=%%a
set cc=!aa!!bb!
echo s!cc:~-3!
)
2 发表于 2007-12-07 19:46 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
setlocal enabledelayedexpansion
for /f "tokens=1,2,3,4* delims=. " %%a in (arp.txt) do (
set aa=%%e
set aa=!aa::=-!
set bb=00%%d
set cc=%%a.%%b.%%c.%%d
echo !aa!=!cc!^|s!bb:~-3!>>arp.ini
)
简单!简单!再简单!
3 发表于 2007-12-07 21:48 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
命令行执行下面的Gawk命令:
gawk "$0!~/^ +$/{split($1,ip,/\./);printf(\"%s=%s.%s.%s.%s^|s%.3d\n\",$2,ip,ip,ip,ip,ip)}" arp.txt >newp.txt
论坛跳转: