Al hilo de una anotación de JJ Merelo: compartiendo suscriptores. ¿Cómo podemos aproximar cuántos suscriptores tenemos?
En mi caso es bastante sencillo: tengo a mi disposición los logs del servidor y solo proporciono un sumario RSS.
Primero obtenemos un subconjunto de los logs, por ejemplo este último mes de Julio:
$ grep "/Jul/2005" < /var/www/logs/access_log > log.julio
Ahora solo queremos las direcciones IP únicas que accedan al fichero /blackshell.rss, que es el sumario que proporciono a los lectores de esta bitácora:
$ awk '/GET\ \/blackshell\.rss\ / { print $1 }' < log.julio | sort -u > ip.julio
Notar que he usado awk, y para que la cadena a buscar (primer término entre /) se ajuste a una expresión regular constante, hemos de escapar los caracteres especiales empleando la barra hacia la izquierda (los espacios, la propia barra a la derecha y el punto, en este caso porque buscamos "GET /blackshell.rss ").
Si quisiéramos añadir más ficheros al análisis de awk, emplearíamos el operador OR (|). Un ejemplo:
$ awk '/GET\ \/blackshell\.rss\ |GET\ \/blackshell\.rdf\ / { print $1 }' \
< log.julio | sort -u > ip.julio
Ahora podemos contar las direcciones recogidas:
$ wc -l ip.julio
526 ip.julio
Lo que da en mi caso una estimación de 526 suscritos al sumario RSS (620 si tenemos en cuenta el desaparecido RDF).
Ahora si queremos comparar qué suscriptores compartimos con otra bitácora, solo tenemos que anonimizar un poco estos datos para poder pasarlos a quien esté interesado:
$ for ip in $(cat ip.julio); do echo $ip | openssl sha >> ip_sha.julio; done
Tampoco es que resulte imposible obtener las direcciones IP, pero cuanto menos es muy molesto, con lo que nadie nos podría acusar de no intentar preservar su privacidad ;).
Ahora solo falta ver qué cadenas aparecen en tu ip_sha.julio y en el del vecino para tener una aproximación de cuántos suscriptores leen ambas bitácoras.
Nota: Como indica Pau, algunos agregadores web nos muestran en la cadena del agente el número de suscritos que tenemos. En mi caso y con Bloglines indica 100 suscritos. Así que aplicando una correción a la cifra de antes (que indica estaciones en realidad), y comprobando que todas las peticiones de Bloglines vienen de la misma dirección IP, restaríamos uno y sumaríamos 100, quedándonos en una estimación de 625 suscritos.
También he añadido el GET a las lineas de awk, para asegurarnos de que no se procesan peticiones de forma equivocada.

![[xml]](/images/xml.gif)
