sed/awk/grep 相关问答

*

一个文件有以下日志数据段,现要取出其中的MIN号

==================================================================

message=AUTH:AC:GlobalChal:Fail - RANDC mismatch, Denied=N, ReportType=3
   Message Id=32032;
   subscriber information:MIN =123158688;
   END OF REPORT #400136++- 

===================================================================

是否有什么办法可以将满足一些条件的文本提取出来?
比如当出现 message=AUTH:AC:GlobalChal:Fail 这样的关键字段的时候,脚本就将其所在行的下两行的“MIN=123158688”字段中的号码"123158688"提取出来.
一个日志文件里面有很多满足条件的号码,我该怎么做才能通过命令或是脚本将这些号码都提取出来到呢?

法1(来自cu):

    sed -n '/message=AUTH:AC:GlobalChal:Fail/{n;n;s/[^0-9]//gp}' log

小结: 可以看出,如果要处理特定行附近的行的数据,可以先由sed定位,再用n命令定位到需要处理的行,进行处理。

 

 

 

 

 

你可能感兴趣的:(report,脚本)