# 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 # Datos de salida: fichero en formato dot sin restricciones para la colocación de los nodos BEGIN { # Tratamiento inicial del filtro: se genera la cabecera del fichero dot printf "digraph enjutas \{\n" printf "node [color=Green,fontcolor=Black,font=Courier,style=filled];\n" printf "edge [color=Red];\n" # limitación del tamaño del gráfico printf "ranksep=.75; size = \"13,13\";\n" i=0 } { # tratamiento para cada una de las filas del fichero array_name[i]=$1 array_fecha[i]= $3 array_url[i]= $4 array_antecedente[i]=$5 array_genero[i]=$6 if ((i > 0) && ( $2 < dia)) { if ($6 =="M") { printf "%s [color=darkorchid2];\n",i printf "%s [href=\"%s\"];\n",i,$4 } if ($6 =="H") { printf "%s [color=brown2];\n",i printf "%s [ href=\"%s\"];\n",i,$4 } for (j=0; j <=i; j++) { antecedente= array_url[j] if (match ($5, antecedente) ==1) { printf " \"%s\" -> ",j break } } printf "\"%s\" ",i printf ";\n " } i=i+1 } END { # tratamiento final del fichero, se inserta token de cierre printf "\} " }