首页 > grep如何在指定行的基础上 向上查找 包含特定字符的行

grep如何在指定行的基础上 向上查找 包含特定字符的行

比如说下面这段示例文本,我现在要通过 disconnected 关键字找到指定行,再向上获取时间,现在我是这么写的 grep -B 5 disconnected,也就是说行数是固定的,有问题,我现在要从指定行向上找,只要找到时间行就不再找了,应该怎么实现呢?求教~

Thu Jun 30 15:26:07 2016
 FdManager:   End of stream
 FdManager:   End of stream
 FdManager:   End of stream
 FdManager:   End of stream
 FdManager:   End of stream

Thu Jun 30 15:51:36 2016
 Connections: disconnected: 10.0.30.171::58800 (Idle timeout)
 FdManager:   Listener not registered

Thu Jun 30 15:53:04 2016
 Connections: disconnected: 10.0.30.171::58811 (Idle timeout)
 rvnExt:      notifyNewConnection - 0x2d044d0, 0

知不知道为什么没人回答你?
你不知道用管道吗?
.......|grep -A ......|grep -B ......
当然,要完全精确实现你说的功能,perl/awk,不过显然需要对正则和相关语法相当熟悉才能自己写出来,你一时半会还搞不定。
正则工具学习次序(复杂度递增):
grep/egrep/fgrep/ack ->
sed/ed/vim ->
awk/perl

【热门文章】
【热门文章】