Cómo ordenar archivos de texto en Linux usando el comando sort

Cómo ordenar archivos de texto en Linux usando el comando sort

Linux le proporciona varias utilidades que puede utilizar para procesar archivos de texto. Ya sea que desee eliminar datos duplicados u ordenar el contenido dentro de un archivo, las herramientas de línea de comandos de Linux tienen todo lo que necesita.





Este artículo demostrará el comando de ordenación y cómo puede usarlo para ordenar el contenido dentro de un archivo de texto y organizarlo en consecuencia.





¿Qué es el comando sort?

Como se mencionó anteriormente, el comando de clasificación ayuda al usuario a organizar el contenido de un archivo de texto en un orden particular. Hay varias opciones disponibles que le permiten ordenar el archivo según su deseo. Es un programa estándar de Linux que puede ordenar un archivo de texto alfabéticamente, numéricamente, por columna y más, ya sea en orden normal o inverso.





Otras funcionalidades del comando incluyen ignorar los casos de caracteres al ordenar, ordenar un archivo por mes, ignorar los espacios en blanco en un archivo y ordenar al azar. Usando ordenar, también puede verificar si un archivo ya está ordenado o no.

Cómo usar ordenar en Linux

Aunque sort contiene varios métodos e indicadores que puede utilizar, sigue siendo fácil de aprender.



Sintaxis básica

La sintaxis básica de usar sort es:

|_+_|

...dónde nombre del archivo es la ruta absoluta o relativa del archivo de texto que desea ordenar.





De forma predeterminada, sort organizará el contenido según los siguientes criterios:

  1. Las líneas que comienzan con caracteres numéricos tienen la máxima prioridad.
  2. El comando ordenará las líneas alfabéticamente, después de ordenar las líneas que comienzan con números.
  3. Las líneas que comienzan con caracteres en minúscula preceden a las líneas que comienzan con el mismo carácter en mayúsculas.

Considere un archivo de texto llamado textfile.txt que contiene la siguiente información:





Para ordenar el archivo usando la configuración predeterminada:

|_+_|

Producción:

Crear un nuevo archivo de salida

El comando sort no modifica el contenido del archivo. Simplemente envía el contenido ordenado a la salida estándar. Sin embargo, esto no significa que sort no pueda crear un nuevo archivo. Puedes usar el -o flag para especificar el nombre del archivo ordenado y sort creará automáticamente el archivo y agregará el contenido.

qué servicio de entrega paga más
|_+_|

...dónde archivo ordenado es el nombre del archivo de salida y nombre del archivo es el archivo original que debe ordenarse.

Para ordenar textfile.txt y cree un nuevo archivo de salida para el contenido:

|_+_|

Producción:

Ordenar varios archivos

Para ordenar más de un archivo a la vez, simplemente pase los nombres de archivo separados por Espacio personaje.

|_+_|

Producción:

Tenga en cuenta que sort fusionará la salida de los archivos y los mostrará juntos en la terminal.

Ordenación inversa de un archivo

Si desea invertir la disposición del contenido, utilice el -r bandera con el comando predeterminado. los -r en el siguiente comando significa Marcha atrás .

|_+_|

Producción:

Ordenar un archivo numéricamente

Para ordenar un archivo que contiene datos numéricos, utilice el -norte bandera con el comando. De forma predeterminada, sort organizará los datos en orden ascendente.

|_+_|

Producción:

Si desea ordenar en orden descendente, invierta la disposición utilizando el -r opción junto con la -norte bandera en el comando.

|_+_|

Producción:

Ignorar mayúsculas y minúsculas al ordenar

De forma predeterminada, la ordenación tiene en cuenta las mayúsculas y minúsculas del contenido. Las líneas que comienzan con caracteres en minúscula preceden a las líneas que comienzan con la versión en mayúsculas del mismo carácter. Por ejemplo, 'él es un niño' precederá a 'Él es un niño'.

Si desea que la ordenación ignore las mayúsculas y minúsculas, especifique el -F o la --ignorar caso marcar de la siguiente manera:

|_+_|

Producción:

Ordenar un archivo según el mes

Utilizando el -METRO bandera, puede modificar el orden del contenido de un archivo en función de los nombres de los meses.

|_+_|

Producción:

Ignorar espacios en blanco iniciales

A veces, el archivo que desea ordenar puede contener espacios o tabulaciones. Para ignorar estos caracteres en blanco, use el -b bandera.

|_+_|

Producción:

Ordenar un archivo según una columna

Si tiene un archivo de texto con datos organizados en columnas separadas, puede ordenar el archivo según el contenido de una columna. Todo lo que necesita hacer es pasar el número de columna junto con el -para bandera.

Considere un archivo de texto que contiene información de archivo con diferentes columnas. Para ordenar un archivo llamado output.txt según la octava columna:

cómo controlar tu teléfono desde la pc
|_+_|

Producción:

Ordenación de tuberías con otros comandos

Incluso puede usar sort con otros comandos de Linux para modificar la disposición de la salida. Por ejemplo, para ordenar la salida de el comando ls según el tamaño de los archivos:

|_+_|

Producción:

Ordenar un archivo aleatoriamente

Puedes usar el -R marque si desea aleatorizar el orden de las líneas en un archivo de texto. Considere el archivo textfile.txt :

|_+_|

Producción:

Ordenar números de versión en un archivo

Si tiene un archivo de texto que contiene información de la versión asociada con un paquete, puede ordenar su contenido usando el -V o --version-sort bandera.

forma más barata de obtener microsoft office
|_+_|

Producción:

Comprobar si un archivo está ordenado

los -c flag le ayudará a identificar los archivos que ya están ordenados de acuerdo con las opciones especificadas. Si el contenido del archivo está ordenado correctamente, sort no mostrará ningún resultado.

Para comprobar si el archivo textfile.txt está ordenado:

|_+_|

Ahora, clasifiquemos el archivo y guardemos su salida en un nuevo archivo llamado sorted.txt . Al emitir el siguiente comando:

|_+_|

Producción:

También puede especificar varias banderas para verificar la disposición del archivo de acuerdo con criterios particulares. Por ejemplo, para comprobar si el archivo numeros.txt se ordena en orden descendente:

|_+_|

Verá una salida que indica que el archivo no está ordenado correctamente. Ordenemos el archivo y verifiquemos si el nuevo archivo pasa la prueba.

|_+_|

Producción:

Ordene el archivo y elimine los duplicados

El archivo con el que está trabajando puede contener datos duplicados. Aunque puedes usar el comando uniq para eliminar dicha información del archivo, sort puede realizar esta tarea por usted. los -u o --único bandera es lo que necesitas.

Considere un archivo llamado duplicate.txt :

Para ordenar el archivo y eliminar los datos repetidos:

|_+_|

Producción:

Puedes ver que cuando usas el -u flag, sort solo muestra líneas distintas y las organiza de acuerdo con los criterios especificados.

Trabajar con archivos de texto en Linux

Aunque el poder de los editores de texto de línea de comandos es incomparable, aún puede optar por un editor gráfico como gedit para modificar fácilmente el contenido de un archivo de texto. Además, es una mejor opción para aquellos que son nuevos en Linux y no pueden manejar la terminal.

La mejor manera de comenzar con la línea de comandos, y Linux en general, es practicando primero los comandos básicos. Después de cubrir las utilidades fundamentales, avanzar gradualmente hacia comandos más complejos es probablemente el mejor enfoque.

Cuota Cuota Pío Correo electrónico La hoja de trucos de referencia de comandos de Linux

Esta sencilla hoja de trucos le ayudará a sentirse cómodo con el terminal de línea de comandos de Linux en poco tiempo.

Leer siguiente
Temas relacionados
  • Linux
  • Gestión de archivos
  • Linux
  • Comandos de Linux
Sobre el Autor Sharma profundo(79 Artículos publicados)

Deepesh es el editor junior para Linux en MUO. Escribe guías informativas sobre Linux, con el objetivo de proporcionar una experiencia maravillosa a todos los recién llegados. No estoy seguro de películas, pero si quieres hablar de tecnología, él es tu chico. En su tiempo libre, puedes encontrarlo leyendo libros, escuchando diferentes géneros musicales o tocando su guitarra.

Más de Deepesh Sharma

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse