Извлечь файл журнала - PullRequest
1 голос
/ 18 июня 2010

xxxxxxxxmessageyyyyyyymessagexxxxxxxxxx

xxxxxxxxmessagezzzzzzzmessagexxxxxxxxxx

xxxxxxxxmessageaaaaaaamessagexxxxxxxxxx

xxxxxxxxmessageyyyyyyymessagexxxxxxxxxx

Выше приведен мой файл журнала, мне нужно извлечь фразу, которая находится внутри тега сообщения, и мне нужно сохранить отдельные сообщения в файле, в приведенном выше примере мне нужно сохранить zzzzzzz и aaaaaaa в файл.

Какие команды Unix мне нужно использовать.

Ответы [ 2 ]

0 голосов
/ 15 июля 2010

Есть дюжина способов сделать это.Тот, который я тестировал:

(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
0 голосов
/ 18 июня 2010

AWK:

BEGIN
{
  s=0
}

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

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

{
  print
}

Запуск с awk -f script.awk < infile > outfile.

...