LINUX.ORG.RU

Grep лога

 


0

1

Есть лог в котором нужно за час вывести сколько было строк в каждую минуту. Я бы тут сделал цикл for и каждую минуту грепал количество строк. Но тогда бы grep происходился 60 раз по файлу. А это не очень хорошо. Каким образом это можно сделать за один проход?

Ответ на: комментарий от sandrey81

С uniq -c наверное оптимальнее всего - не будет холостых циклов по подстрокам которых не существует. Но если очень хочется, ты можешь сделать

for hour in {0..23}; do
   for minute in {0..59}; do
      echo -n "$hour:$minute "; 
      grep "$hour:$minute" /path/to/log | wc -l
   done
done
slowpony ★★★★★
()