Есть такая вот задача:
Пробежать по файлу (лог) и посчитать, сколько записей, удовлетворяющих шаблону, было сделано в зависимости от времени.
Вид лога:
2008-05-26 23:59:59,794 8756984 INFO Method call: 'Method1'
2008-05-26 23:60:05,794 8756984 INFO Method call: 'Method2'
...
я сделал вот такое решение, но оно работает медленно (понятно почему)
for h in `seq 10 23`# задаем часы (с 10.00 до 23.59)
do
for m in `seq 0 $STEP 59`# минуты с заданным шагом
do
if [ $m -lt 10 ]
then
echo "$h:0$m" `cat $LOGS | grep -c "$h:0$m:.*$PATTERN.*"`
else
echo "$h:$m" `cat $LOGS | grep -c "$h:$m:.*$PATTERN.*"`
fi
done
done
Вывод должен быть примерно такой:
21:35 24550
21:40 25912
21:55 34234
...