![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 20:22 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助]提取含指定字符的行中指定字符后的内容? |
| 可打印版本 1,745 / 15 |
| 第1楼 beyoungse | 发表于 2007-09-11 17:16 |
| 中级用户 发帖 112 积分 253 | |
|
求助]提取含指定字符的行中指定字符后的内容? 如:
2007-9-11 8:51:36: PXE Mac:0019E02E5D96 192.168.10.10 在上面的行中,提取出 192.168.10.10 0019E02E5D96 规律: 要提取的行中有相同的字符:"PXE Mac:" 要求:提取后把IP 和MAC 换一下位置直接替换原文本文件 样本: 2007-9-11 8:51:51: Init Succeed: 192.168.10.11 1 2007-9-11 8:51:56: DHCP: P 000AEB2DADBA 8 2007-9-11 8:51:56: PXE Mac:000AEB2DADBA 192.168.10.9 2007-9-11 8:52:05: DHCP: P 0011D8A14D77 26 2007-9-11 8:52:05: PXE Mac:0011D8A14D77 192.168.10.27 2007-9-11 8:52:07: Login:0019E02E5D96 009 2007-9-11 8:52:07: Login: Read DiskInfo Success! 9 192.168.10.10 2007-9-11 8:52:21: Login:0011D8A14D77 026 2007-9-11 8:52:21: Login: Read DiskInfo Success! 26 192.168.10.27 2007-9-11 8:52:25: Login:000AEB2DADBA 008 2007-9-11 8:52:25: Login: Read DiskInfo Success! 8 192.168.10.9 2007-9-11 8:52:34: Begin Save INI. 2007-9-11 8:52:53: DHCP: P 000AEB59661E 56 2007-9-11 8:52:53: PXE Mac:000AEB59661E 192.168.10.57 2007-9-11 8:53:34: Begin Save INI. 2007-9-11 8:53:34: DHCP: P 000AEB6B3725 2 2007-9-11 8:53:34: PXE Mac:000AEB6B3725 192.168.10.3 2007-9-11 8:53:35: Login:0019E02EFEAF 022 2007-9-11 8:53:35: Login: Read DiskInfo Success! 22 192.168.10.23 2007-9-11 8:53:40: Login:000AEB6B3725 002 2007-9-11 8:53:40: Login: Read DiskInfo Success! 2 192.168.10.3 2007-9-11 8:53:49: DHCP: P 00E04C6F527F 17 2007-9-11 8:53:49: PXE Mac:00E04C6F527F 192.168.10.18 2007-9-11 8:54:08: DHCP: P 00E04C8A54F6 7 2007-9-11 8:54:08: PXE Mac:00E04C8A54F6 192.168.10.8 2007-9-11 8:54:14: Login:00E04C8A54F6 007 2007-9-11 8:54:14: Login: Read DiskInfo Success! 7 192.168.10.8 2007-9-11 8:54:34: Begin Save INI. 2007-9-11 8:54:38: DHCP: P 0019E02FB77A 11 2007-9-11 8:54:38: PXE Mac:0019E02FB77A 192.168.10.12 2007-9-11 8:54:52: Login:000AEB59661E 056 附件: 附件 test.txt (7.32 KiB) |
|
| 第2楼 wudixin96 | 发表于 2007-09-11 17:33 |
| 银牌会员 发帖 931 积分 1,928 | |
|
.
[ Last edited by wudixin96 on 2007-9-11 at 06:01 PM ] |
|
| 第3楼 lxmxn | 发表于 2007-09-11 17:49 |
| 版主 发帖 4,938 积分 11,386 | |
| 第4楼 beyoungse | 发表于 2007-09-11 17:49 |
| 中级用户 发帖 112 积分 253 | |
|
2 F输出相同的内容
|
|
| 第5楼 beyoungse | 发表于 2007-09-11 17:52 |
| 中级用户 发帖 112 积分 253 | |
Originally posted by lxmxn at 2007-9-11 17:49: 可以的,有没有办法把前面的IP按升序排一下 输出内容如下 192.168.10.10 0019E02E5D96 192.168.10.11 00E04C39ACE7 192.168.10.23 0019E02EFEAF 192.168.10.16 0019E02FCC53 192.168.10.9 000AEB2DADBA 192.168.10.27 0011D8A14D77 192.168.10.57 000AEB59661E 192.168.10.3 000AEB6B3725 192.168.10.18 00E04C6F527F 192.168.10.8 00E04C8A54F6 192.168.10.12 0019E02FB77A 192.168.10.9 000AEB2DADBA 192.168.10.6 0019E02F73A7 192.168.10.28 00E04CB36388 192.168.10.4 0019E02E5D98 192.168.10.51 00016CB455ED 192.168.10.29 00E04C396C78 192.168.10.28 00E04CB36388 192.168.10.15 000FEA3F3878 192.168.10.25 0019E02FCC63 192.168.10.13 000AEB776367 192.168.10.20 00016C2ED68D 192.168.10.20 00016C2ED68D 192.168.10.20 00016C2ED68D 192.168.10.57 000AEB59661E 192.168.10.29 00E04C396C78 192.168.10.57 000AEB59661E 192.168.10.5 0019E02FCC52 192.168.10.4 0019E02E5D98 192.168.10.7 0019E0715200 |
|
| 第6楼 lxmxn | 发表于 2007-09-11 17:53 |
| 版主 发帖 4,938 积分 11,386 | |
|
再sort一下。
|
|
| 第7楼 beyoungse | 发表于 2007-09-11 17:53 |
| 中级用户 发帖 112 积分 253 | |
|
然后再去掉相同内容的行
|
|
| 第8楼 lxmxn | 发表于 2007-09-11 17:55 |
| 版主 发帖 4,938 积分 11,386 | |
|
那你用awk比较合适。
|
|
| 第9楼 beyoungse | 发表于 2007-09-11 18:12 |
| 中级用户 发帖 112 积分 253 | |
|
楼上帮我写一下吧!
我要能写出来,不知要多久,? |
|
| 第10楼 wudixin96 | 发表于 2007-09-11 18:14 |
| 银牌会员 发帖 931 积分 1,928 | |
|
回楼主,我的没有输出相同内容,确实是调换了IP和MAC的位置,
只是我理解错了 |
|
| 第11楼 wudixin96 | 发表于 2007-09-11 18:16 |
| 银牌会员 发帖 931 积分 1,928 | |
|
sed -n "G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P"
删除重复行 |
|
| 第12楼 beyoungse | 发表于 2007-09-11 18:25 |
| 中级用户 发帖 112 积分 253 | |
Originally posted by wudixin96 at 2007-9-11 18:14: 谢谢你,删除重复行是怎么用?我把要处理的文件名放在哪? |
|
| 第13楼 wudixin96 | 发表于 2007-09-11 18:29 |
| 银牌会员 发帖 931 积分 1,928 | |
|
sed -n "/PXE Mac/s/\([0-9A-Z]\{12\}\) \(.*\)/\2 \1/;/PXE Mac/p" test.txt|sort|sed "$!N; /^\(.*\)\n\1$/!P; D"
|
|
| 第14楼 beyoungse | 发表于 2007-09-11 23:34 |
| 中级用户 发帖 112 积分 253 | |
Originally posted by wudixin96 at 2007-9-11 18:29: 我来试试一下 [ Last edited by beyoungse on 2007-9-11 at 11:35 PM ] |
|
| 第15楼 beyoungse | 发表于 2007-09-12 00:23 |
| 中级用户 发帖 112 积分 253 | |
|
输出的内容过多了
2007-9-11 10:10:02: PXE Mac:192.168.10.7 0019E0715200 2007-9-11 8:51:36: PXE Mac:192.168.10.10 0019E02E5D96 2007-9-11 8:51:37: PXE Mac:192.168.10.11 00E04C39ACE7 2007-9-11 8:51:37: PXE Mac:192.168.10.16 0019E02FCC53 2007-9-11 8:51:37: PXE Mac:192.168.10.23 0019E02EFEAF 2007-9-11 8:51:56: PXE Mac:192.168.10.9 000AEB2DADBA 2007-9-11 8:52:05: PXE Mac:192.168.10.27 0011D8A14D77 2007-9-11 8:52:53: PXE Mac:192.168.10.57 000AEB59661E 2007-9-11 8:53:34: PXE Mac:192.168.10.3 000AEB6B3725 2007-9-11 8:53:49: PXE Mac:192.168.10.18 00E04C6F527F 2007-9-11 8:54:08: PXE Mac:192.168.10.8 00E04C8A54F6 2007-9-11 8:54:38: PXE Mac:192.168.10.12 0019E02FB77A 2007-9-11 8:54:59: PXE Mac:192.168.10.9 000AEB2DADBA 2007-9-11 8:55:07: PXE Mac:192.168.10.6 0019E02F73A7 2007-9-11 8:55:42: PXE Mac:192.168.10.28 00E04CB36388 2007-9-11 8:57:27: PXE Mac:192.168.10.4 0019E02E5D98 2007-9-11 8:58:30: PXE Mac:192.168.10.29 00E04C396C78 2007-9-11 8:58:30: PXE Mac:192.168.10.51 00016CB455ED 2007-9-11 8:58:37: PXE Mac:192.168.10.28 00E04CB36388 2007-9-11 8:59:39: PXE Mac:192.168.10.15 000FEA3F3878 2007-9-11 9:00:08: PXE Mac:192.168.10.25 0019E02FCC63 2007-9-11 9:03:27: PXE Mac:192.168.10.13 000AEB776367 2007-9-11 9:08:03: PXE Mac:192.168.10.20 00016C2ED68D 2007-9-11 9:30:57: PXE Mac:192.168.10.57 000AEB59661E 2007-9-11 9:36:30: PXE Mac:192.168.10.29 00E04C396C78 2007-9-11 9:45:43: PXE Mac:192.168.10.57 000AEB59661E 2007-9-11 9:54:34: PXE Mac:192.168.10.5 0019E02FCC52 2007-9-11 9:59:47: PXE Mac:192.168.10.4 0019E02E5D98 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |