[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: METODO DE ORDENMIENTO (AWK, SORT, O LO QUE SEA)



On Wed, 19 Feb 2003, Pablo Alverte wrote:

> Haber si alguien me puede ayudar, tengo un archivo de texto que necesito ordenar, el tema es que no me doy cuenta como:
>
> El file consta de la siguiente estructura:
>
> EJEMPLO:
>
>
> PABLO MARTIN ALVERTE
> DNI: 288711627
> TEL: 323232323
>
> LUIS ARMANDO SORES
> DNI: 23232333
> TEL: 123123123
>
>
> Y asi sucesivamente, osea que son dos tres lineas por registro, y cada registro esta separado por un espacio en blanco.
>
> Bien, la pregunta es la siguiente:
> Como ordeno de tal forma que si LUIS es menor que PABLO (albaticamente) no me ordene esa linea sino todo el registro, osea que me quede asi:
>
>
> LUIS ARMANDO SORES
> DNI: 23232333
> TEL: 123123123
>
> PABLO MARTIN ALVERTE
> DNI: 288711627
> TEL: 323232323
>
>
> Por lo que estube viendo el SORT no tiene esa opcion porque solo ordena POR LINEA, y yo quiero que ordene por la primera linea de un registro de tres lineas.
>
>
>
> Fui claro?????
>
>
> Gracias Y Saludos,
> Pablo Alverte
> pablo@alverte.com.ar
>
Lo primero que se me ocurre es que te montes un script que lea las tres
líneas y las convierta en una solo separando los distintos campos por un
carácter conocido que no pueda ser usado por ningun dato.  Luego ordenas
ese fichero haciendo que el sort coja el campo que te apetezca (recuerda
decirle que el separador es el que has usado en la parte anterior) una vez
hecho esto simplemente tienes que recorrer el fichero (ya ordenado) y
sustituir las apariciones del carácter ese por un salto de línea y ya
tienes la solución a tu problema. No es una solución muy elegante ni
eficiente; pero si no tienes que repetir muchas veces la tarea es
aceptable. Esto no es difícil de implementar en lenguajes de script tipo
bash.

Comandos que te pueden servir:
	tr   (Para sustituir)
 	sort (Para ordenar)

Espero que te sirva mi ayuda. Saludos.



Reply to: