LINUX.ORG.RU

awk и удаление запятой.


0

0

В программировании не искушен, так что звеняйте за возможно тупой вопрос.

Есть задача пропарсить лог от postfix, где amavis кладет сообщения о том, что письмо добавлено в спам.

Пример лога:
...
May 4 09:32:03 mail amavis[6207]: (06207-06) Blocked SPAM, [82.17.103.238] [82.17.103.238] <kingr@pronets.com.tw> -> <admin@хххххх.ru>, quarantine: spam-i1jiAgV8mb9j.gz, Message-ID: <000601c8ada7$03797241$0a584bb7@nnxqbq>, mail_id: i1jiAgV8mb9j, Hits: 17.717, 1556 ms
...

Этот скрипт парсит:
#!/bin/sh

awk '$8=="SPAM," {
a=a+1;
print $1, $2, $3, $7, $8, $11, $12, $13, $20, $21
}

END {
print a
}' mail.log

Результат что-то типа:
...
May 9 00:36:06 Blocked SPAM, <xtmast@bangkoktonight.com> -> <natalia@www.хххххххх.ru>, Hits: 30.013,
13559

Подскажите, как убрать запятые?

anonymous

Спасибо. И то и другое работает на ура :)

anonymous
()

> Подскажите, как убрать запятые?

> a=a+1;

добавь gsub(",","") перед

> print $1, $2, $3, $7, $8, $11, $12, $13, $20, $21

И не юзай sed, раз awk'ом пользуешься.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.