1. Creo con
awk y
uniq bastaría.
man awk,
man uniq y busca en Google; hace tiempo hubo un meme con "un script" que mostraba los comandos más utilizados en el historial, hace exactamente lo mismo.
2. Nunca lo he hecho desde Bash
. Existe una API tanto para PHP, Apache, C, Python y Ruby entre lenguajes [1] (solo, son las primeras opciones). Yo iría por crear un script independiente y luego consumirlo con el script en Bash. [1]
http://www.maxmind.com/app/linux
* Acabo de ver, el menos en mi Debian, hay un paquete llamado geoip-bin que dice:
Cita: This package contains the command line utilities to resolve the IP numbers using the GeoIP library.
3. Un case teniendo una variable por cada hora sumando en 1 cuando sea el caso.
http://tldp.org/LDP/Bash-Beginners-G...ect_07_03.html
4. gunzip