免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: platinum

取一个段落中关键字的问题(已解决) [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2005-05-18 23:13 |显示全部楼层

取一个段落中关键字的问题(已解决)

网版主和007版主两位都在线啊,看来夜猫子还不止我一个。hehe
网兄的许多大作都拜读过,小弟仰慕已久了呀!还有很多要向您学习呢。

论坛徽章:
0
发表于 2009-05-08 17:51 |显示全部楼层
学习

论坛徽章:
0
发表于 2009-05-08 17:57 |显示全部楼层
[root@Mylinux tmp]# awk '/^lease/{v=$2}/hardware ethernet/{sub(/;/,"",$3);print v,$3}' file
192.168.103.198 00:30:05:06:af:14
192.168.103.193 00:0c:6e:55:f7:dd
192.168.103.192 00:30:05:03:8a:08
192.168.102.199 00:0f:3d:21:8d:2a
192.168.102.199 00:0f:3d:21:8d:2a

论坛徽章:
0
发表于 2009-05-08 18:19 |显示全部楼层
那么老的帖子都顶上来啊…… - -
awk的ywlscpl写了,换个法子试一个:

  1. grep -Eo "[0-9]+(\.[0-9]+){3}|..(:..){5}" URFILE | sed 'N;s/\n/ - /'
复制代码

论坛徽章:
0
发表于 2009-05-08 18:58 |显示全部楼层
sed  -n '/lease/p;/hardware/p' urfile | sed 'N;s/\n//' | awk -F"[ |;]" '{print $2," "$(NF-1)}'

[ 本帖最后由 greendays 于 2009-5-9 09:44 编辑 ]

论坛徽章:
0
发表于 2009-05-09 00:07 |显示全部楼层
试试我这个
sed -n -e '/^[^#]/p' dhcpd.leases | sed -e 's/^ *//' | awk -F " |;" '{if($0~/lease/){print $2}else if($0~/hardware ethernet/){print $3}}' | sed '/:/!N;/:/s/\n/ /;/:/!D'

如需剔重,管道给uniq


ywlscpl  的正解
kwokcn 的有点问题吧,这种方法如果MAC正好匹配到单数行就有问题了,不过前面过滤数据想法蛮好的,改进下我的脚本:)

grep -Eo "[0-9]+(\.[0-9]+){3}|..(:..){5}" dhcpd.leases | sed '/:/!N;/:/s/\n/ /;/:/!D'

这样比较简洁了,呵呵

[ 本帖最后由 kenshinsee 于 2009-5-9 00:27 编辑 ]

论坛徽章:
0
发表于 2009-05-09 01:39 |显示全部楼层
原帖由 kenshinsee 于 2009-5-9 00:07 发表
试试我这个
sed -n -e '/^[^#]/p' dhcpd.leases | sed -e 's/^ *//' | awk -F " |;" '{if($0~/lease/){print $2}else if($0~/hardware ethernet/){print $3}}' | sed '/:/!N;/:/s/\n/ /;/:/!D'

如需剔重,管 ...

按照楼主的例子,一个IP对应一个MAC,grep出来的结果,IP肯定是奇数行,MAC肯定是偶数行。
我那个效率并不是很好,就是写着练练手。

论坛徽章:
0
发表于 2009-05-09 17:06 |显示全部楼层
不一定是偶数行啊
LZ文件里有些IP是没有MAC的

lease 192.168.103.197 {
  starts 5 2005/04/29 01:38:27;
  ends 5 2005/04/29 01:38:27;
  tstp 5 2005/04/29 01:38:27;
  binding state free;
}
lease 192.168.103.196 {
  starts 5 2005/04/29 01:38:38;
  ends 5 2005/04/29 01:38:38;
  tstp 5 2005/04/29 01:38:38;
  binding state free;
}

那MAC肯定会有奇数行的可能的,你可以试下5F那些有问题的资料,呵呵

论坛徽章:
0
发表于 2009-05-09 19:07 |显示全部楼层
原帖由 kenshinsee 于 2009-5-9 17:06 发表
不一定是偶数行啊
LZ文件里有些IP是没有MAC的

lease 192.168.103.197 {
  starts 5 2005/04/29 01:38:27;
  ends 5 2005/04/29 01:38:27;
  tstp 5 2005/04/29 01:38:27;
  binding state free;
}
...

sorry,点击页面的时候不小心点到臭蛋,想再给你个鲜花结果不让评了,你再点我一个臭蛋好了…… - -

一开始没看到第5楼,粗心了,谢谢提醒。:)

论坛徽章:
0
发表于 2009-05-09 22:13 |显示全部楼层
臭就臭吧 学习第一嘛 呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP