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

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-05-09 09:40:57

  帅哥
大天使




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







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

[] [] [博客]


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

我想这个问题用awk比较适合。试试这个:

CODE:
awk -F"[ ;]" '/^lease|hard/{printf $(NF-1)}/{/{printf " "}/}/{print ""}'

上面将硬件地址缺失的作为空字段列出,如果需要可以进一步过滤掉这些行:

CODE:
awk -F"[ ;]" '/^lease|hard/{printf $(NF-1)}/{/{printf " "}/}/{print ""}' ur-file | grep -v " $"




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




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







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

[] [] [博客]


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

也可以这样:

CODE:
awk -F"[ ;]" '/lease/{ip=$(NF-1)}/hard/{printf "%s %s\n", ip, $(NF-1)}'




您对本贴的看法:
| |
  美女
侠客



CU编号: 199998
注册:2004-11-17
最后登录: 2005-05-28
帖子:
精华:0







状态:...离线...

[] [] [博客]


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



QUOTE:
原帖由 "woodie" 发表:

awk -F"[ ;]" '/lease/{ip=$(NF-1)}/hard/{printf "%s %s\n", ip, $(NF-1)}'

woodieGG能讲解一下吗 :em02:



您对本贴的看法:

__________________________________

开始喜欢shell了 ^_^

| |
  帅哥
大天使




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







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

[] [] [博客]


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



QUOTE:
原帖由 "云飞舞" 发表:

woodieGG能讲解一下吗 :em02:

非常乐意!

命令行选项-F"[ ;]" 告诉awk空格和分号都是字段分隔符,加入分号是为了后面提取mac地址时的方便。

/lease/{ip=$(NF-1)}表示当前行匹配lease时提取ip地址并暂存,而先不打印。

/hard/{printf "%s %s\n", ip, $(NF-1)}表示当前行匹配hard时打印暂存的ip地址和mac地址。如果没有hard这行的话是不会执行打印动作的。

不知道说清楚了没有?



您对本贴的看法:
| |
  美女
侠客



CU编号: 199998
注册:2004-11-17
最后登录: 2005-05-28
帖子:
精华:0







状态:...离线...

[] [] [博客]


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

谢谢GG,我明白啦 :em03:
我又演绎了一下,这样也能显示主机的hostname了 :em02:

CODE:
cat /var/lib/dhcp/dhcpd.leases|awk -F"[ ;]" '/lease/{ip=$(NF-1)}/hard/{mac=$(NF-1)}/host/{printf "%s %s %s\n",ip,mac,$(NF-1)}'




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