обработка логов..........., micolo, 05-Апр-06, 10:47 [смотреть все]Доброго времени суток! У меня тут появилась необходимость написать shell-скрипт, построчной обработки логов, т.е. сопостовлять каждую строку с шаблоном регулярных выражений, производить другие манипуляции со строками на предмет соответствия. Затем переписать данный лог-файл с уже обработанными данными. У меня нет абсолютно никакой практики в написании шелл-скриптов. Каким образом можно решить данную задачу. Если будут ссылки на инфу или на примеры, буду очень признателен. |
- обработка логов..........., Дениска, 10:49 , 05-Апр-06 (1)
>Каким образом можно решить данную задачу. Если будут ссылки на >инфу или на примеры, буду очень признателен. скорее всего вам должно хватить awk, sed. соответственно man awk, man sed. С примерами.
- обработка логов..........., redd, 13:32 , 05-Апр-06 (2)
- обработка логов..........., micolo, 15:06 , 05-Апр-06 (4)
а если лог файл весит 170 метров, что лучше с точки зрения производительности
- обработка логов..........., redd, 15:08 , 05-Апр-06 (5)
- обработка логов..........., micolo, 15:11 , 05-Апр-06 (6)
>вам шашечки или ехать ? всмысле некоррктный вопрос, или нет разницы
- обработка логов..........., redd, 16:46 , 05-Апр-06 (7)
Ну ты это попробуй и скажи что вот этот скрипт при обр. файла 170 Мб тратит 5 сек , а мне нужно 4,5 сек по зарез
- обработка логов..........., redd, 13:38 , 05-Апр-06 (3)
Ну вот так например#!/usr/bin/perl open (infile,"<in"); open (outfile,">out"); while ($str=<infile>){ $str=~/([0-9.]+)\s+(\d+)\s+(\d+)/g; $IP{$1}+=$2; $IP1{$1}+=$3; } for $key(sort keys %IP){ print outfile "$key $IP{$key} $IP1{$key}\n"; } close (infile); close (outfile); exit 0
|