# Datos de entrada: un fichero de texto con los datos separados por tabulaciones # posición de los datos # 1:Blog 2: día 3:fecha 4:Url 5:antecedente 6:sexo 7:nombre del bloguero # Datos de salida: fichero en formato xml (para touchgraph) con color BEGIN { # Tratamiento inicial del filtro: No existe cabecera en el formato NET printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf " \n" printf "]> \n" printf " \n" i=0 } { # tratamiento para cada una de las filas del fichero # Se va almacenando la información para construir el fichero net array_name[i]=$1 array_dia[i]= $2 array_fecha[i]= $3 array_url[i]= $4 array_antecedente_nombre[i]=$5 array_antecedente_numero[i]=1 array_nombre[i]=$1 array_num_hijos[i]=0 array_num_hijos_indirectos[i]=0 array_padre[i]=0 array_nivel[i]=0 array_path[i,0]="" array_genero[i]=$6 array_nombre_bloguero[i]=$7 array_coordenada_x[i]=0 for (j=0; j <=i; j++) { antecedente= array_url[j] if (match ($5, antecedente) ==1) array_antecedente_numero[i]=j } #calculo nivel, post directos y path respecto al origen for (j=0; j <=i; j++) { antecedente= array_url[j] if (match ($5, antecedente) ==1) { array_num_hijos[j]= array_num_hijos[j]+1 array_nivel[i]=array_nivel[j]+1 nivel=array_nivel[i] for (k=0; k 0; l--) { array_num_hijos_indirectos[l] = array_num_hijos[l] } for (l=i; l > 0; l--) { padre= array_padre[l] array_num_hijos_indirectos[padre] = array_num_hijos_indirectos[padre] + array_num_hijos_indirectos[l] } printf " \n" /* nodo origen */ printf" \n" printf" \n", visible printf" \n" printf" \n", array_url[1] printf" \n",array_url[1],array_nombre_bloguero[1],array_num_hijos[1], array_num_hijos_indirectos[1] printf" \n" for (j=1; j <=i; j++) { /* se definen los nodos */ nivel=array_nivel[j] array_coordenada_x[nivel]= array_coordenada_x[nivel] +200 visible="true" shape=2 fontsize=16 if ( array_num_hijos_indirectos[j] > 10) { fontsize=28 } if ( array_num_hijos_indirectos[j] < 1) { shape=1 fontsize=12 } color="FF00FF" if (array_genero[j] =="H") color="FF0000" printf" \n",j printf" \n", visible printf" \n", array_name[j],shape,color,fontsize printf" \n", array_url[j] printf" \n",array_url[j],array_nombre_bloguero[j],array_num_hijos[j], array_num_hijos_indirectos[j] printf" \n" } printf" \n" /*se definen los arcos */ printf" \n" for (j=1; j <=i; j++) { origen=0 if (array_nivel[j] > 0) origen= array_antecedente_numero[j] printf"\n",origen, j } printf" \n" printf"\n" printf" \n" printf" \n" printf" \n" printf" \n" printf" \n" printf"\n" }