El 05/05/13 17:09, Hugo Florentino escribió: > Tengo un texto de tres columnas (la primera numérica y las otras dos > alfabéticas) y me interesa ordenar por la primera en orden descendente y > ADEMAS por las otras dos en orden ascendente. Puede lograrse esto con sort?
Hola Hugo Con sort no sé, con un poco de perl sí: mmoya@macaria:/tmp$ cat foo.txt 2 b d 2 a c 2 b c 3 a b mmoya@macaria:/tmp$ perl -e 'print sort { @af = split /\s+/, $a; @bf = split /\s+/, $b; @cmps = (); push @cmps, $bf[0] <=> $af[0]; for $i (1 .. $#af) { push @cmps, $af[$i] cmp $bf[$i] }; $cmps[0] != 0 ? $cmps[0] : $cmps[1] != 0 ? $cmps[1] : $cmps[2] } <>' foo.txt 3 a b 2 a c 2 b c 2 b d El chorizo es un poco ininteligible. Adjunto una versión formateada y comentada. Recomiendo además que eches un vistazo a: $ perldoc -f sort $ perldoc -f split $ perldoc perlop (y busca <=> y cmp) Saludos, maykel ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: customsort.pl Type: application/x-perl Size: 1213 bytes Desc: no disponible URL: <http://listas.jovenclub.cu/pipermail/gutl-l/attachments/20130506/3e9354da/attachment.bin> ______________________________________________________________________ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio.