La manera más rápida de ordenar archivos de datos usando Linux

La manera más rápida de ordenar archivos de datos usando Linux

La manera más rápida de ordenar archivos de datos usando Linux

VALORACIÓN DEL ARTÍCULO:
5/5


Índice de contenidos

Introducción

En esta guía, le mostraré cómo ordenar los datos en archivos delimitados y desde la salida de otros comandos.

No le sorprenderá saber que el comando que utiliza para realizar esta tarea se llama «ordenar». Todos los interruptores principales del comando sort se proporcionarán en este .

Datos de la muestra

Los datos de un archivo pueden ser ordenados siempre y cuando estén delimitados de alguna manera.

Por ejemplo, tomemos la tabla de clasificación final de la Scottish Premier League del año pasado y almacenemos los datos en un archivo llamado «spl». Puede crear un archivo de datos de la siguiente manera con un club y los datos de ese club separados por comas en cada fila.

TeamGoals ScoredGoals AgainstPointsCeltic933186Aberdeen624871Hearts594065St Johnstone585556Motherwell476350Ross County556148Inverness54485852Dundee535748Partick415046Hamilton426343Kilmarnock416436Dundee United457028

Cómo ordenar datos en archivos

De esa tabla se desprende que el Celtic ganó la liga y el Dundee United quedó último. Si eres hincha de Dundee United, es posible que quieras sentirte mejor, y puedes hacerlo clasificando los goles marcados.

Para ello, ejecute el siguiente comando:

sort -k2 -t, spl

Esta vez el orden sería el siguiente:

  • Partick
  • Kilmarnock
  • Hamilton
  • Dundee United
  • Motherwell
  • Dundee
  • Inverness
  • Condado de Ross
  • San Juan
  • Corazones
  • Aberdeen
  • Celta

La razón por la que los resultados están en este orden es que la columna 2 es la columna de goles marcados y el orden va de menor a mayor.

El interruptor -k le permite elegir la columna por la que ordenar y el interruptor -t le permite elegir el delimitador.

Para estar muy contentos, los aficionados de Dundee United pueden ordenar por columna 4 utilizando el siguiente comando:

sort -k4 -t, spl

Ahora el Dundee United está arriba y el Celtic está abajo.

Por supuesto, esto haría muy infelices a los aficionados del Celtic y del Dundee. Para corregirlo, puede ordenar las cosas en orden inverso utilizando el siguiente interruptor:

sort -k4 -t, -r spl

Un conmutador bastante extraño te permite ordenar al azar, lo que en realidad no hace más que mezclar las filas de datos.

Puede hacerlo utilizando el siguiente comando:

sort -k4 -t, -R spl

Esto podría causar problemas reales si confundes tu interruptor -r y tu interruptor -R.

El comando ordenar también puede ordenar las fechas en orden de mes. Para demostrarlo, mire la siguiente tabla:

Datos mensuales utilizados Enero 4GF Febrero 3000K Marzo 6000KA Abril 100MM Mayo 5000M Junio 200K Julio 4000KA Agosto 2500KSeptiembre 3000KO Octubre 1.000KNoviembre 3GDiciembre 2G

La tabla anterior representa el mes del año y la cantidad de datos utilizados en un dispositivo móvil.

Puede ordenar las fechas por orden alfabético utilizando el siguiente comando:

sort -k1 -t, lista de datos utilizados

También puede ordenar por mes usando el siguiente comando:

sort -k1 -t, -M lista de datos utilizados

Ahora, obviamente, la tabla de arriba ya los muestra en orden de mes, pero si la lista estuviera poblada al azar, sería una forma sencilla de clasificarlos.

Mirando la segunda columna se puede ver que todos los valores están en un formato legible por el ser humano que no parece que sea fácil de ordenar, pero el comando sort puede ordenar los datos usados en la columna usando el siguiente comando:

sort -k2 -t, -h lista de datos utilizados

Cómo ordenar los datos transmitidos desde otros comandos

Mientras que la ordenación de datos en archivos es útil, el comando sort también se puede utilizar para ordenar la salida de otros comandos:

Por ejemplo, mire el comando ls:

ls -lt

El comando anterior devuelve cada archivo como una fila de datos con los siguientes campos desplegados en columnas:

  • permisos
  • recuento de nodos
  • nombre de usuario
  • nombre de grupo
  • tamaño
  • fecha del último acceso
  • nombre de archivo

Puede ordenar la lista por tamaño de archivo ejecutando el siguiente comando:

ls -lt | clasificar -k5

Para obtener los resultados en orden inverso, utilice el siguiente comando:

ls -lt | clasificar -k5 -r

El comando sort también se puede utilizar junto con el comando ps, que enumera los procesos que se ejecutan en su sistema.

Por ejemplo, ejecute el siguiente comando ps en su sistema:

ps -eF

El comando anterior devuelve mucha información sobre los procesos que se están ejecutando actualmente en su sistema. Una de esas columnas es el tamaño y es posible que desee ver qué procesos son los más grandes.

Para ordenar estos datos por tamaño se utiliza el siguiente comando:

ps -eF | clasificar -k5

Resumen

No hay mucho en el comando de ordenación, pero puede ser útil muy rápidamente cuando se ordena la salida de otros comandos en un orden significativo, especialmente cuando el comando no tiene sus propios interruptores de ordenación disponibles.

Para más información, lea las páginas del manual del comando sort.

TAMBIÉN TE INTERESA

OPPO-Air-Glass-3

Esto va de gafas e IA: salen a la luz las OPPO Air Glass 3

No hay duda de que el tema central del Mobile World de este año es la inteligencia artificial. Pero en el evento barcelonés suele destacar por la presentación de nuevos dispositivos por parte de las marcas. Ya vimos lo sorprendentes que pueden llegar a ser las Apple Vision Pro… Ahora OPPO anuncia nuevas gafas en

tarjetas gráficas ASUS y monitores ASUS

Con estas tarjetas gráficas ASUS y este monitor simplemente irás volando…

ASUS se ha convertido, por méritos propios, en una de las marcas más fiables en el mundo del gaming, lo cual también es compatible con equipos ideales para todo. Dos de sus componentes más destacados acaban de recibir actualización de modelos: hablamos de dos nuevas tarjetas gráficas ASUS y un monitor que, con poco que

ZTE-nubia-Neo-5G

ZTE nubia Neo 5G: el móvil gaming más futurista y accesbible

ZTE presenta el nuevo ZTE nubia Neo 5G en España, bajo el lema «Mejor Gaming para Todos». Este dispositivo, dirigido al sector gamer, destaca por su combinación de potencia y rendimiento a un precio asequible, ofreciendo un procesador UNISOC T820 de hasta 2,7 GHz, una pantalla de 120Hz, conectividad 5G y hasta 18GB de RAM,

Sora

Sora, lo último de OpenAI para generar vídeos por inteligencia artificial

La IA Generativa vuelve a dar un paso más impulsada por la empresa que ha protagonizado el gran boom de esta tecnología. OpenAI acaba de dar a conocer Sora, que se presenta como la nueva solución de esta entidad para generar vídeos siguiendo las instrucciones de los usuarios. A priori, uno puede pensar que los