# 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 net (para pajek) con color y tiempo del aparación del nodo # sintaxis .net # Lenguaje net::= # # # ::= "*Vertices" # # # ::= "*Arcs" # # ::= "*Edges" # # # ::= # # ::= | # | # | # ::= # # "1" # ::= # BEGIN { # Tratamiento inicial del filtro: No existe cabecera en el formato NET i=0 } { # tratamiento para cada una de las filas del fichero # Se va almacenando la infrmació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 for (j=0; j <=i; j++) { antecedente= array_url[j] if (match ($5, antecedente) ==1) array_antecedente_numero[i]=j } i=i+1 } END { # tratamiento final del fichero, se genera el fichero con la información almacenada i=i-1 printf "*Vertices %s\n",i for (j=1; j <=i; j++) { if (array_genero[j] =="M") printf "%s \"%s\" ic Magenta bc Black [ %s-* ]\n",j,array_nombre[j],array_dia[j] if (array_genero[j] =="H") printf "%s \"%s\" ic Red bc Black [ %s-* ]\n",j,array_nombre[j],array_dia[j] } printf "*Arcs\n" for (j=1; j <=i; j++) printf "%s %s 1 [ %s-* ] \n", array_antecedente_numero[j], j,array_dia[j] printf "*Edges \n" }