Foros del Web » Administración de Sistemas » Unix / Linux »

Ejercicio Shell script

Estas en el tema de Ejercicio Shell script en el foro de Unix / Linux en Foros del Web. BUenas me gustaria saber como hacer un script para que contara las palabras de un archivo. Con un ejemplo se vera mejor Nombres.txt Juan Juan ...
  #1 (permalink)  
Antiguo 21/11/2010, 10:45
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Ejercicio Shell script

BUenas me gustaria saber como hacer un script para que contara las palabras de un archivo. Con un ejemplo se vera mejor
Nombres.txt
Juan
Juan
Pedro
Pedro
Pedro

Archivo resultante
resultado.txt
Juan 2
Pedro 3

Este seria un pequeño ejemplo de lo que quiero hacer y no me sale.
Gracias
  #2 (permalink)  
Antiguo 22/11/2010, 09:04
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ejercicio Shell script

Forma sucia y poco eficiente:

1.- combinando sort y uniq podés obtener una lista sin duplicados.
2.- para cada elemento de esa lista, grep -c te puede decir cuántas veces aparece en el archivo
3.- generás el nuevo archivo, con cada palabra y el resultado de grep -c.

Otra forma mejor puede ser utilizar sort (para tener todas las iguales juntas), y recorrer cada línea del archivo comparando con la línea anterior. Si es igual, se aumenta un contador. Si es diferente, se escribe la línea junto con el valor del contador y éste último se reinicia a 1.


Intentá hacer alguna de esas opciones, y preguntá de nuevo si tenés problemas.


Saludos
  #3 (permalink)  
Antiguo 22/11/2010, 12:09
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Respuesta: Ejercicio Shell script

Buenas Alvaro.
Lo de uniq si es muy util pero al hacer grep -c se me queda pillado y no hace nada se queda la linea en blanco asta que pasa el rato y no hace nada y corto con ctrl+c
porque puede ser esto??
  #4 (permalink)  
Antiguo 22/11/2010, 12:26
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Respuesta: Ejercicio Shell script

vale ya se como va el grep -c que es de la siguiente manera grep -c [texto a buscar] [archivo]
pero como hago para que haga el grep lo que necesito ...
Gracias
  #5 (permalink)  
Antiguo 22/11/2010, 13:17
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ejercicio Shell script

la palabra clave era "para cada elemento de esa lista"

Código:
PALABRAS=`sort archivo |uniq`
for p in $PALABRAS
...
  #6 (permalink)  
Antiguo 22/11/2010, 15:00
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Respuesta: Ejercicio Shell script

ya me a funcionado era poner
uniq -c [nombre archivo]
asi sale la solucion.

Gracias
  #7 (permalink)  
Antiguo 22/11/2010, 16:13
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ejercicio Shell script

No tenía idea de esa opción. ¡Gracias! He aprendido algo hoy

Etiquetas: shell
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:50.