Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2079513
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-05-09 09:50:58

  帅哥
大天使




荣誉会员  
CU编号: 51293
注册:2003-4-10
最后登录: 2009-05-05
帖子:
精华:







来自:西安
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2005-5-18 23:13 
取一个段落中关键字的问题(已解决)

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



您对本贴的看法:
| |
  帅哥
天使




CU编号: 726971
注册:2008-7-7
最后登录: 2009-05-09
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-5-8 17:51 
学习



您对本贴的看法:

__________________________________

念吾一身,飘然旷野!
| |

天使



CU编号: 347943
注册:2005-12-11
最后登录: 2009-05-09
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-5-8 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



您对本贴的看法:

__________________________________

shell新手&&awk新手
我的awk学习笔记
http://blog.chinaunix.net/u3/91453/showart_1798635.html
| |
(狼烟)
精灵王
披着狼皮的羊



CU编号: 547805
注册:2007-4-5
最后登录: 2009-05-09
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-5-8 18:19 
那么老的帖子都顶上来啊…… - -
awk的ywlscpl写了,换个法子试一个:

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




您对本贴的看法:
| |
  帅哥
精灵王




CU编号: 690903
注册:2008-4-13
最后登录: 2009-05-09
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]       顶部
发表于 2009-5-8 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 编辑 ]



您对本贴的看法:
| |
  帅哥
骑士




CU编号: 634080
注册:2007-10-27
最后登录: 2009-05-08
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 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'

如需剔重,管道给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 编辑 ]



您对本贴的看法:
| |
(狼烟)
精灵王
披着狼皮的羊



CU编号: 547805
注册:2007-4-5
最后登录: 2009-05-09
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-5-9 01:39 


QUOTE:
原帖由 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肯定是偶数行。
我那个效率并不是很好,就是写着练练手。



您对本贴的看法:
阅读(540) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~