- 论坛徽章:
- 0
|
本帖最后由 chenhaimingwork 于 2012-02-18 23:05 编辑
请教如何取2个关键字段中间的行 ~。。。 含关键字的文本如下 :
----------------------------------------------------------------
test.sale.com.Null 。。。
。。。
。。。
。。。
the end.out sale1.com 服务器初始化错误error.ko
sale4.com 服务器初始化错误error.kd
sale4.com 服务器初始化错误error.dev
sale2.com 服务器初始化错误error.pci
test.sale.com 。。。
。。。
。。。
。。。
the end.out sale3.com 服务器初始化错误
sale5.com 服务器初始化错误
sale4.com 服务器初始化错误null
sale5.com 服务器初始化错误
sale2.com 服务器初始化错误
test.sale.com.Null 。。。
。。。
。。。
。。。
the end.out
现在问题是 :
取出test.sale.com 和 the end.out 之间的行(包括2个关键字其本身),但是是取一个文本最前面和最末尾关键字之间的行,从test.sale.com 开始,中间如果遇到这2个关键字,不理会,直到遇到文本里最后一个 the end.out ,然后取之间的行(包括2个关键字自身)另存一个文本里 !!
我想了很久,现在的方案是 sed -n '/关键字/,/关键字/w /tmp/tmp.txt' , 但是这个写法是一段一段取的,这样就导致文本中间类似于:
sale5.com 服务器初始化错误
sale4.com 服务器初始化错误null
上面这样的行就取不到了!
如果是整个文本中2个关键字之间的行(非一段一段),则可以取到这些行
但是小弟才疏学浅,不会写 {:3_201:}
求大牛帮忙 ! 非常感谢 !
----- |
|