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

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-04-30 09:41:18

如何找出匹配行的上一行。
比如有如下文件:
[10:00]
server start
[11:00]
server down
[12:00]
server start
[15:00]
server down

我要找出所有“server start”行的前一行。
谢谢。



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


CU奥运火炬传递手2008
荣誉会员  
CU编号: 187152
注册:2004-10-1
最后登录: 2009-04-30
帖子:
精华:







来自:北京海淀
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-29 15:36 
man grep



您对本贴的看法:

__________________________________


Window$ XP Professional service pack 2
CYGWIN_NT-5.1 + GNU bash version 3.2.39

| |
  帅哥 (暗夜星空)
法王
休息休息



CU编号: 306408
注册:2005-8-25
最后登录: 2009-04-30
帖子:
精华:0







来自:广州<-->杭州
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-29 15:38 
回复 #1 sinall 的帖子



CODE:
awk 'BEGIN{RS="["}/server start/{print "["$1}' ufile




您对本贴的看法:

__________________________________

有时候回答问题是信口开河......
因此不保证所有回复问题的答案的准确性.
如果正好是对的,那是碰到了死耗子..呵呵.
想着休息,不想做事!
| |
  帅哥 ((小学生))
光明使者
小学生



CU编号: 468971
注册:2006-9-24
最后登录: 2009-04-29
帖子:
精华:0







状态:...保密...

[] [] [博客]


[]     顶部
发表于 2009-4-29 15:41 
回复 #1 sinall 的帖子

sed -n 'N;/server down/P'   ufile



您对本贴的看法:

__________________________________

小学生
| |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-04-30
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-29 15:41 
回复 #1 sinall 的帖子

try:

CODE:
sed -n 'N;/\nserver start$/P;D' urfile




您对本贴的看法:

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


| |
  帅哥
侠客




CU编号: 290317
注册:2005-7-11
最后登录: 2009-04-30
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-29 16:29 


QUOTE:
原帖由 blackold 于 2009-4-29 15:41 发表
try: sed -n 'N;/\nserver start$/P;D' urfile

谢谢,这个答案不错。
我看了sed的教程,但是还是没有理解这个命令的含义。
能否简单解释下?



您对本贴的看法:
| |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-04-30
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-29 16:32 
回复 #6 sinall 的帖子

你判断下一行是否是server start, 是,输出前一行;否,不输出。



您对本贴的看法:

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


| |
  帅哥
侠客




CU编号: 564603
注册:2007-5-16
最后登录: 2009-04-29
帖子:
精华:0







来自:福建
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-29 16:36 


QUOTE:
原帖由 liaosnet 于 2009-4-29 15:38 发表

awk 'BEGIN{RS="["}/server start/{print "["$1}' ufile

帅,以前只会用sed,没想到awk也行,哈哈~



您对本贴的看法:

__________________________________
阅读(1037) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~