提取日志文件

时间:2010-06-18 04:55:00

标签: unix scripting shell

xxxxxxxxmessageyyyyyyymessagexxxxxxxxxx

xxxxxxxxmessagezzzzzzzmessagexxxxxxxxxx

xxxxxxxxmessageaaaaaaamessagexxxxxxxxxx

xxxxxxxxmessageyyyyyyymessagexxxxxxxxxx

以上是我的日志文件我需要提取消息标记内的短语,我需要在上面的示例中将不同的消息保存在文件中我需要将zzzzzzz和aaaaaaa保存到文件中。

我需要使用哪些unix命令。

2 个答案:

答案 0 :(得分:0)

AWK:

BEGIN
{
  s=0
}

s==0 && /yyyyy/
{
  s=1
  next
}

s==1 && /yyyyy/
{
  exit
}

{
  print
}

使用awk -f script.awk < infile > outfile运行。

答案 1 :(得分:0)

有十几种方法可以实现这一目标。我测试过的那个:

(sed 's/xx//g' | sed 's/message//g')<tstlog >processed.log

产生

yyyyyyy

zzzzzzz

aaaaaaa

yyyyyyy

另外,如果要省略空行,可以添加如下内容:

(sed 's/xx//g' | sed 's/message//g' | grep -v ^$) < tstlog >processed.log