![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| Haciendo nodos de conexión para el Gráfico | anjas | Programación de scripts de shell y | 4 | 06-18-2009 05:42 AM |
| FTP archivos de gran tamaño - Introducción "Conexión rechazada" | bullz26 | HP-UX | 4 | 10-25-2008 07:52 AM |
| problema al mismo tiempo de ftp un archivo grande | rprajendran | UNIX for Dummies Preguntas y Respuestas | 1 | 05-28-2008 02:19 AM |
| nodos | kamisi | UNIX for Dummies Preguntas y Respuestas | 3 | 05-30-2002 04:47 PM |
| i-nodos | djatwork | UNIX for Dummies Preguntas y Respuestas | 4 | 09-25-2001 01:29 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Hacer grandes nodos de conexión para el Gráfico
Hola usuario,
Básicamente, este hilo es una continuación de la anterior :Haciendo nodos de conexión para el Gráfico Sin embargo, voy a explicar de nuevo. Tengo este siguientes datos: archivo1 aa A B bis aa C bb X Y bb bb Z O cc cc P Q cc . . . . . . . . y quiero convertirlas en una conexión de nodos como este: archivo2 A aa A Un bis B Un bis C B bis C B bis B C bis C Bb X X Y bb X Bb X Z Bb Y Z Y bb Y Bb Z Z . . . . . . . . . . . . Hice esta relación, para crear un gráfico. El archivo tiene más de 6.000.000 líneas. Para archivos más pequeños (100.000 líneas), he utilizado este siguiente script en el anterior hilo: unirse-o 1,2 0 2,2 -1 1 -2 1 archivo1 archivo1 | nawk '! un [$ 3 $ 2 $ 1]; (a [$ 1 $ 2 $ 3 ]++}' unirse-o 1,2 0 2,2 -1 1 -2 1 archivo1 archivo1 | nawk '$ 1 <(print $ 3;) próximo (print $ 3, $ 2, $ 1)' | sort-u nawk ' NR \u003d\u003d FNR (c \u003d a [$ 1]; un [$ 1] \u003d c? C "" $ 2: $ 2;) siguiente (C \u003d a [$ 1] if (c) ( split (c, b) para (k en la letra b) ( p \u003d $ 2 <b [k]? $ 2 "" $ 1 "" b [k]: b [k] "" $ 1 "" $ 2 if (! d [p] + +) p imprimir ) ) ) 'Archivo1 archivo1 Para pequeño archivo, los tres tipos de secuencias de comandos puede crear la red en menos de 10 minutos. Sin embargo, para los archivos con más de 6.000.000 líneas, incluso después de un día, no hubo resultados en todos los . ¿Hay alguna manera más rápida de hacerlo? Cualquier sugerencia, cómo crear mediante el uso de archivo2 perl o awk? Tx |
|
||||
|
Lo siento por los errores. Ahora, reparar el desplazamiento. Hola usuario, Básicamente, este hilo es una continuación de la anterior: Haciendo nodos de conexión para el Gráfico Sin embargo, voy a explicar de nuevo. Tengo este siguientes datos: archivo1 aa A B bis aa C bb X Y bb bb Z O cc cc P Q cc . . . . . . . . y quiero convertirlas en una conexión de nodos como este: archivo2 A aa A Un bis B Un bis C B bis C B bis B C bis C Bb X X Y bb X Bb X Z Bb Y Z Y bb Y Bb Z Z . . . . . . . . . . . . Hice esta relación, para crear un gráfico. El archivo tiene más de 6.000.000 líneas. Para archivos más pequeños (100.000 líneas), he utilizado este siguiente script en el anterior hilo: Código:
join -o 1.2 0 2.2 -1 1 -2 1 file1 file1 | nawk '!a[$3$2$1];{a[$1$2$3]++}'
Código:
join -o 1.2 0 2.2 -1 1 -2 1 file1 file1 | nawk '$1<$3{print;next}{print$3,$2,$1}' | sort -u
Código:
nawk '
NR==FNR { c = a[$1]; a[$1] = c?c" "$2:$2; next }
{ c = a[$1]
if (c) {
split(c,b)
for (k in b) {
p = $2<b[k]?$2" "$1" "b[k]:b[k]" "$1" "$2
if (!d[p]++) print p
}
}
}
' file1 file1
Para pequeño archivo, los tres tipos de secuencias de comandos puede crear la red en menos de 10 minutos. Sin embargo, para los archivos con más de 6.000.000 líneas, incluso después de un día, no hubo resultados en absoluto. ¿Hay alguna manera más rápida de hacerlo? Cualquier sugerencia, cómo crear mediante el uso de archivo2 perl o awk? Tx |
|
|||||
|
Try ... Código:
awk '{n=++a[$1];b[$1,n]=$2}END{for(c in a)for(n=1;n<=a[c];n++)for(z=1;z<=n;z++)print b[c,z],c,b[c,n]}' file1|sort -k 2,2 -k 1,1 -k 3,3
Resultado ... Código:
A aa A A aa B A aa C B aa B B aa C C aa C X bb X X bb Y X bb Z Y bb Y Y bb Z Z bb Z O cc O O cc P O cc Q P cc P P cc Q Q cc Q |
![]() |
| Marcadores |
| Etiquetas |
| gráfico, nodos |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|