The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



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
Encontrar el total de una columna usando awk ironhead3fan Programación de scripts de shell y 8 01-30-2009 06:59 AM
Cómo verificar los valores nulos en un archivo de la columna por columna si las columnas no son valores NULL Mandab Programación de scripts de shell y 7 03-15-2008 09:57 AM
encontrar archivos duplicados por tamaño y la búsqueda de patrones y de su cuenta jerome Sukumar Programación de scripts de shell y 2 12-01-2006 04:20 AM
10a sustituir la columna con una nueva columna --- Terriblly prisa ahmedwaseem2000 Programación de scripts de shell y 2 09-06-2005 02:10 AM
La búsqueda de una columna en un flatfile peter.herlihy UNIX for Dummies Preguntas y Respuestas 3 01-07-2002 08:08 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 11-21-2007
Donkey25 Donkey25 is offline
Usuario Registrado
  
 

Fecha: noviembre 2007
Puestos: 36
Encontrar el más común de entrada en una columna

Hola,

Tengo un archivo con 3 columnas en que están separados por comas y tiene cerca de 5000 líneas. Lo que quiero hacer es encontrar el valor más común en la columna 3 usando awk o un script de shell o lo que funciona! Estoy totalmente atascado en cómo hacer esto.

por ejemplo,

valor1, valor2, bob
valor1, valor2, bob
valor1, valor2, bob
valor1, valor2, dave
valor1, valor2, James

Claramente en el ejemplo anterior el valor más populares en column3 es "bob", pero ¿cómo voy a escribir un guión para este trabajo a cabo?

Muchas gracias
  #2 (Enlace permanente)  
Old 11-21-2007
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderador
  
 

Fecha: febrero 2005
Localización: Boston, MA
Mensajes: 5.131
nawk-f don.awk miarchivo

don.awk:

Código:
BEGIN {
  FS=","
}
{a[$3]++; if (a[$3] > comV) { comN=$3; comV=a[$3]} }
END {
    printf("Most Common Name: [%s] = [%d]\n", comN, comV)
}


Última edición por vgersh99; al 11-21-2007 12:08 PM..
  #3 (Enlace permanente)  
Old 11-21-2007
summer_cherry summer_cherry is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: junio 2007
Ubicación: Beijing China
Mensajes: 1.089
awk

Hola,
Esto también debe ser un bien para usted. En realidad, este caso se refiere a persormance cuestión, ya que su expediente ha thousound y hunderds de líneas. Tan difícil lógica tendrá resultado diferente.

Para ser honesto, yo sólo sé cómo obtener el resultado, pero no tengo ni idea de dar un código de alto rendimiento. Así que lo mejor será pedir a algunos expertos para obtener ayuda.

Aquí viene mi código:


Código:
awk 'BEGIN{
FS=","
n=0
}
{
sum[$3]++
if (sum[$3]>n)
{
	n=sum[$3]
	m=$3
}
}
END{
print m
}' filename

  #4 (Enlace permanente)  
Old 11-21-2007
drl's Avatar
DRL drl is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: abril 2007
Ubicación: Saint Paul, MN EE.UU. / BSD, CentOS, Debian, OS X, Solaris
Puestos: 712
Hola.

Así que está dispuesto a aceptar un (más o menos) al azar de cualquier resultado de los ganadores si hay un empate entre dos o más nombres? ... cheers, DRL
  #5 (Enlace permanente)  
Old 11-22-2007
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
adicto
  
 

Fecha: enero 2007
Ubicación: Варна, България / Milán, Italia
Mensajes: 2.915
Será suficiente para activar comN / m en la matriz.
  #6 (Enlace permanente)  
Old 11-22-2007
Donkey25 Donkey25 is offline
Usuario Registrado
  
 

Fecha: noviembre 2007
Puestos: 36
Gracias chicos,

Tengo tanto de lo que antecede a mi trabajo, pero el uso de la CPU al 100% lol hit! Todas las ideas en que esta sea más eficiente o limitar la cantidad de CPU que este script puede awk cerdo?

Gracias de nuevo
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 12:19 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0