中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助]提取含指定字符的行中指定字符后的内容?
« [1] [2] »
作者:
标题: 求助]提取含指定字符的行中指定字符后的内容? 上一主题 | 下一主题
beyoungse
中级用户





积分 253
发帖 112
注册 2005-12-20
状态 离线
『楼 主』:  求助]提取含指定字符的行中指定字符后的内容?

如:
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

附件:

附件 1: test.txt (2007-9-11 17:16, 7.32 K,下载次数: 12)
2007-9-11 17:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 2 楼』:  

.

[ Last edited by wudixin96 on 2007-9-11 at 06:01 PM ]

2007-9-11 17:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  


sed "/PXE Mac:/!d" test.txt|sed "s/.*:\([^ ]*\) \([^ ]*\)/\2\t\1/"|more>test1.txt


2007-9-11 17:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
beyoungse
中级用户





积分 253
发帖 112
注册 2005-12-20
状态 离线
『第 4 楼』:  

2 F输出相同的内容

2007-9-11 17:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
beyoungse
中级用户





积分 253
发帖 112
注册 2005-12-20
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by lxmxn at 2007-9-11 17:49:
sed "/PXE Mac:/!d" test.txt|sed "s/.*:\([^ ]*\) \([^ ]*\)/\2\t\1/"|more>test1.txt

可以的,有没有办法把前面的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

2007-9-11 17:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  

再sort一下。

2007-9-11 17:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
beyoungse
中级用户





积分 253
发帖 112
注册 2005-12-20
状态 离线
『第 7 楼』:  

然后再去掉相同内容的行

2007-9-11 17:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  

那你用awk比较合适。

2007-9-11 17:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
beyoungse
中级用户





积分 253
发帖 112
注册 2005-12-20
状态 离线
『第 9 楼』:  

楼上帮我写一下吧!
我要能写出来,不知要多久,?

2007-9-11 18:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 10 楼』:  

回楼主,我的没有输出相同内容,确实是调换了IP和MAC的位置,

只是我理解错了

2007-9-11 18:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 11 楼』:  

sed -n "G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P"

删除重复行

2007-9-11 18:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
beyoungse
中级用户





积分 253
发帖 112
注册 2005-12-20
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by wudixin96 at 2007-9-11 18:14:
回楼主,我的没有输出相同内容,确实是调换了IP和MAC的位置,

只是我理解错了
sed -n "G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P"

删除重复行

谢谢你,删除重复行是怎么用?我把要处理的文件名放在哪?

2007-9-11 18:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 13 楼』:  

sed -n "/PXE Mac/s/\([0-9A-Z]\{12\}\) \(.*\)/\2 \1/;/PXE Mac/p" test.txt|sort|sed "$!N; /^\(.*\)\n\1$/!P; D"

2007-9-11 18:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
beyoungse
中级用户





积分 253
发帖 112
注册 2005-12-20
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by wudixin96 at 2007-9-11 18:29:
sed -n "/PXE Mac/s/\([0-9A-Z]\{12\}\) \(.*\)/\2 \1/;/PXE Mac/p" test.txt|sort|sed "$!N; /^\(.*\)\n\1$/!P; D"

我来试试一下

[ Last edited by beyoungse on 2007-9-11 at 11:35 PM ]

2007-9-11 23:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
beyoungse
中级用户





积分 253
发帖 112
注册 2005-12-20
状态 离线
『第 15 楼』:  

输出的内容过多了

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

2007-9-12 00:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: