[ubuntu-ar] CONTAR PALABRAS REPETIDAS
Daniel Maidana
danielhmaidana at yahoo.com
Tue Jul 6 15:19:55 BST 2010
--- El sáb, 6/19/10, Juan Pablo <pablosarubbi en gmail.com> escribió:
De: Juan Pablo <pablosarubbi en gmail.com>
Asunto: Re: [ubuntu-ar] CONTAR PALABRAS REPETIDAS
A: "Ubuntu User Group Argentina" <ubuntu-ar en lists.ubuntu.com>
Fecha: sábado, 19 de junio de 2010, 12:28 pm
El 19 de junio de 2010 09:39, Juan Pablo <pablosarubbi en gmail.com> escribió:
El 17 de junio de 2010 09:59, Fernando Vicio <fernando_018 en hotmail.com> escribió:
Date: Wed, 16 Jun 2010 15:20:40 -0700
From: danielhmaidana en yahoo.com
To: ubuntu-ar en lists.ubuntu.com
Subject: [ubuntu-ar] CONTAR PALABRAS REPETIDAS
Muchas gracias, Juan Pablo.
Daniel
POR FAVOR, NECESITO UN PROGRAMA QUE CUENTE LAS REPETICIONES DE CADA PALABRA EN UN TEXTO.
Buen día Daniel
Tal vez esto te ayude a resolverlo: http://rainbow.arch.scriptmania.com/tools/word_counter.html
Sería mucho más fácil si es una palabra por línea (sort MiArchivo.txt | uniq -c).
Saludos cordiales,
Fernando.-
No importa si es pesado o liviano. Con Hotmail Skydrive tenés 25 GB para guardar todo. Clic aquí
--
Ubuntu-ar lista de correo
Ubuntu-ar en lists.ubuntu.com
Modifica tus opciones o desuscribite en: https://lists.ubuntu.com/mailman/listinfo/ubuntu-ar
Siempre leer, comprender y aplicar nuestra etiqueta: https://wiki.ubuntu.com/ArgentinaTeam/EtiquetaML
y me estoy poniendo viejo, pero con awk lo podes resolver así:
# Imprime palabras y sus repeticiones: contarPalabras.awk# Procesar con :# awk -f contarPalabras.awk archivo.txt
BEGIN {}
{ for (i=1; i<=NF; i++) # NF es el número de campos en el registro actual. words[tolower($i)]++
}
END { for (i in words) print i, words[i]}
Si necesitas ordenarlo o algo mas podes pipearlo con sort o cut o cambiar la línea print i, words[i] por print words[i], i
Saludos
--
Juan Pablo Sarubbi
Licenciado en Sistemas
Google Talk: pablosarubbi#gmail com
MSN: pablosarubbi#hotmail com
Skype: pablosarubbi
Blog: pablosarubbi.blogspot.com
Public Key: D0E8 F172 1DA6 C9C4 35D2 98A6 38A3 31F6 2183 D44A
y como estaba aburrido, me puse a combinar comandos linux:
sed ejecuta una expresion regular, \s es un espacio en blanco, \n un salto de linea y /g para que se haga global
sort ordena un archivo y con -n trata a los numeros como numeros :puniq hace que la lista no se repita y con -c te genera una columna con la cantidad de veces que se repite cada palabra.
Entonces desde la linea de comandos quedaria algo así:
sed 's/\s/\n/g' archivo.txt | sort | uniq -c | sort -n
Saludos
--
Juan Pablo Sarubbi
Licenciado en Sistemas
Google Talk: pablosarubbi#gmail com
MSN: pablosarubbi#hotmail com
Skype: pablosarubbi
Blog: pablosarubbi.blogspot.com
Public Key: D0E8 F172 1DA6 C9C4 35D2 98A6 38A3 31F6 2183 D44A
-----Adjunto en línea a continuación-----
--
Ubuntu-ar lista de correo
Ubuntu-ar en lists.ubuntu.com
Modifica tus opciones o desuscribite en: https://lists.ubuntu.com/mailman/listinfo/ubuntu-ar
Siempre leer, comprender y aplicar nuestra etiqueta: https://wiki.ubuntu.com/ArgentinaTeam/EtiquetaML
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://lists.ubuntu.com/archives/ubuntu-ar/attachments/20100706/d91949ef/attachment.htm
More information about the Ubuntu-ar
mailing list