Ordenar datos según la segunda columna de un archivo en Bash

Nilesh Katuwal 8 octubre 2023
  1. Descripción general del comando ordenar en Bash
  2. Ordenar datos según la segunda columna de un archivo en Bash
Ordenar datos según la segunda columna de un archivo en Bash

Este artículo educa sobre la clasificación de datos en función de la segunda columna de un archivo en bash.

Descripción general del comando ordenar en Bash

Un archivo se ordena usando el comando ordenar, que coloca los registros en un orden específico. De forma predeterminada, el comando ordenar ordena los archivos asumiendo que contienen datos ASCII.

La clasificación numérica es otra opción disponible a través del comando ordenar. El comando ordenar incluye las siguientes funciones:

  1. Las líneas que comienzan con un número se muestran antes que las líneas que comienzan con letras.
  2. Las líneas que comienzan con una letra que viene después en orden alfabético vendrán después de las líneas que comienzan con una letra anterior.
  3. Las líneas que comienzan con una letra en mayúscula se muestran antes que las que comienzan con la misma letra en minúscula.

Supongamos que creamos un archivo de datos con el nombre filename.csv. Y abre ese archivo en bash usando el comando cat.

Sintaxis para abrir un archivo en Bash:

$ cat filename.csv

Ordenar un archivo de mayúsculas y minúsculas, mayúsculas y minúsculas mixtas:

En un archivo mixto con letras mayúsculas y minúsculas, las letras mayúsculas se ordenan primero y luego los caracteres en minúsculas.

Existen numerosas opciones para la clasificación, que incluyen:

  • -k: esta opción ayuda a ordenar los datos en función de cualquier columna especificada. Por ejemplo, el argumento -k5 ordenará comenzando con el quinto campo de cada línea, no el quinto carácter de cada línea (observe que la columna aquí se define como un campo delimitado por comas).

  • -n - Esta opción designa un orden numérico, lo que significa que la columna debe leerse como una fila de números en lugar de texto.

  • -r - El orden de clasificación se invierte con la opción -r. Otra forma de escribirlo es -reverse.

  • -i - Esta opción ignora los caracteres que no se pueden imprimir. Otra forma de escribirlo es -ignorar-no imprimir.

  • -b: esta opción no considera los espacios en blanco iniciales, lo cual es útil porque el número de filas se calcula usando espacios en blanco. Otra forma de escribirlo es ignorar-los-espacios-en-blanco-principales.

  • -f - Esta opción ignora las mayúsculas, A==a. Otra forma de escribirlo es ignorar-caso. Esta opción hace que el preprocesamiento utilice un operador diferente al espacio: -t [nuevo separador].

    Otra forma de escribirlo es -field-separator.

Ordenar datos según la segunda columna de un archivo en Bash

Usando la opción -k, sort nos permite ordenar un archivo por columnas. Comencemos creando un archivo con varias columnas. En la clasificación, se utiliza un solo espacio para dividir cada columna.

Por ejemplo, usamos -k 2 para ordenar en la segunda columna. Ya hemos creado un archivo llamado filename.csv. Los datos disponibles en dicho fichero se facilitan a continuación:

Bonie,22
Julie,23
Henry,15
Flamingo,34
Peter,11

Utilice el comando gato para ver los elementos del archivo antes de ordenarlos.

$ cat filename.csv

Producción :

Bonie,22
Julie,23
Henry,15
Flamingo,34
Peter,11

Sintaxis para ordenar datos según la segunda columna de un archivo en Bash:

sort -k2 -n filename.csv

Salida después de ordenar la Segunda Columna:

Bonie,22
Flamingo,34
Henry,15
Julie,23
Peter,11