En mis ratos libres me pongo a aleatoriamente, revisar comandos del sistema… es por eso que muchas veces encuentro interesantes tips 🙂
Este es uno de ellos, precisamente como indica el título, les mostraré el cómo teniendo un archivo con muchas líneas de texto dentro, ordenar alfabéticamente las líneas de ese archivo.
Por ejemplo, tenemos un archivo (llamado distros) que contiene lo siguiente:
linux
debian
ubuntu
archlinux
sabayon
gentoo
solusos
Y deseamos ordenar alfabéticamente estas distros.
Para ello en una terminal ponemos lo siguiente:
cat distros | sort > distros-ordenadas
Y listo, les muestro el screenshot de yo ejecutando este comando, y luego haciendo un cat (mostrando contenido) del nuevo archivo distros-ordenadas:
…. ¿a que es extremadamente fácil? 😀
El comando sort tiene muchas opciones, en la terminal si hacen man sort les mostrará todas las opciones 😉
En fin, un pequeño tip que nos podría resolver varios problemas en determinado momento jajajaja, espero les haya gustado.
Saludos
Esto sí que es muy útil, gracias por compartir el dato~
Gracias a tí por comentar 😉
Buen tip 😉
Gracias 🙂
De donde sacas los tips?
Simplemente como dije en el inicio del post, en mis ratos libres me pongo a revisar comandos del sistema 🙂
Este lo encontré porque buscaba opciones o alternativas al comando locate, intenté buscar comandos como «search» o algo así, pero no encontré ninguno, por lo que listé todos los comandos con s y luego de un rato me llamó la atención sort 🙂
Gracias por el comanterio, bienvenido al blog 😀
Alternativas al «locate», tienes el «whereis» y «find»
Síp, find lo conocía … pero el whereis nop, jeje gracias 😀
Hago soporte a servidores Unix AIX y Sun (y de vez en cuando algún Red Hat o SuSe) integramente desde la terminal y la verdad es que los comandos sort, junto al cut, grep, awk, etc. hacen maravillas ^___^
Excelente , lo he utilizado para un formato de este modelo
100:usuario1
287:usuario2
150:usuario3
cat orden.txt |sort -n > orden1.txt
100:usuario1
150:usuario3
287:usuario2
Gracias…
Gracias, lo pude aplicar de forma correcta.
Cómo hago para que lo escriba en el mismo archivo, es decir sin tener que asignarlo a un nuevo archivo?? Gracias!
Si no tengo mal entendido, para que se modifique en el mismo archivo es como redireccionar la salida al archivo con igual nombre. PERO CUIDADO! Si te mandaste una macana y querés volver a atrás, no se puede (se reescribe el contenido).
En el ejemplo que nos dejaron sería:
cat distros | sort > distros
No sé si el autor de este post verá el comentario, pero me surgió una duda con el comando «sort»…
En un archivo puse la lista de directorios que contenían cierto archivo. Esos directorios tienen números en su nombre, así uso números como 100, 10, 1, .1 y .01
Cuando los ordena hace todo CASI perfecto:
1) No ordena del /.01, /.1, /1, /10 y /100 (ordena así: …/.01, …/100, …/10, pero con coherencia interna alfabética de sus respectivas subcarpetas)
2) Alterna uno y uno entre …/.1 y …/1
¿Se les ocurre cómo puedo hacer que quede perfecto el orden o es una limitación del comando sort?
Desde ya, muchas gracias 🙂