Парсим лог сквида и отбираем по 'swcdn.apple.com сохраняем в файл:
grep 'swcdn.apple.com' /var/log/squid/access.log > ~/apple.txt
Получается apple.txt вида:
1314056191.316 134 10.0.4.14 TCP_MISS/200 1292 GET http://swcdn.apple.com/content/downloads/08/52/041-1370/hQmLYVQxH6JHFBPpCYjMSYxV7j7yYHNGh9/iWeb_304.pkg - DIRECT/10.0.4.1 text/html 1314056192.025 106 10.0.4.14 TCP_MISS/200 1292 GET http://swcdn.apple.com/content/downloads/27/18/041-1885/q2WhCCK7z3s6Fdv5CykkL45Y3DQTnNZcN6/iMovie9.0.4Update.pkg - DIRECT/10.0.4.1 text/html
Выводим дату и время в человеческом виде, ссылку и размер скачанного по каждой ссылке:
awk -F' ' '{ print strftime("%c",$1) " " $7 " " $2 }' ~/apple.txt
Результат получаем вот в таком виде:
Втр 23 Авг 2011 10:36:31 http://swcdn.apple.com/content/downloads/08/52/041-1370/hQmLYVQxH6JHFBPpCYjMSYxV7j7yYHNGh9/iWeb_304.pkg 134 Втр 23 Авг 2011 10:36:32 http://swcdn.apple.com/content/downloads/27/18/041-1885/q2WhCCK7z3s6Fdv5CykkL45Y3DQTnNZcN6/iMovie9.0.4Update.pkg 106
Считает общий размер скачанного:
awk -F' ' '{ print strftime("%c",$1) " " $7 " " $2 }' ~/apple.txt | awk -F' ' 'BEGIN { summ=0 } { summ+=$7 } END { print "total bytes: " summ}'
Результат:
total bytes: 240Вот собственно и все.
Кому удобнее могут сразу записать все в однострочник без использования промежуточного файла apple.txt
На пример так:
grep 'swcdn.apple.com' /var/log/squid/access.log | awk -F' ' '{ print strftime("%c",$1) " " $7 " " $2 }'