Доброго времени суток! У меня тут появилась необходимость написать shell-скрипт, построчной обработки логов, т.е. сопостовлять каждую строку с шаблоном регулярных выражений, производить другие манипуляции со строками на предмет соответствия. Затем переписать данный лог-файл с уже обработанными данными. У меня нет абсолютно никакой практики в написании шелл-скриптов. Каким образом можно решить данную задачу. Если будут ссылки на инфу или на примеры, буду очень признателен.
>Каким образом можно решить данную задачу. Если будут ссылки на
>инфу или на примеры, буду очень признателен.
скорее всего вам должно хватить awk, sed.
соответственно man awk, man sed. С примерами.
можно awk
можно perl
а если лог файл весит 170 метров, что лучше с точки зрения производительности
вам шашечки или ехать ?
>вам шашечки или ехать ?всмысле некоррктный вопрос, или нет разницы
Ну ты это попробуй и скажи что вот этот скрипт при обр. файла 170 Мб тратит 5 сек , а мне нужно 4,5 сек по зарез
Ну вот так например#!/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