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:
ordenar nombre de archivo
...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:
- Las líneas que comienzan con caracteres numéricos tienen la máxima prioridad.
- El comando ordenará las líneas alfabéticamente, después de ordenar las líneas que comienzan con números.
- 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:
ordenar textfile.txt
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.
sort -o sortedfile nombre de archivo
...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 crea un nuevo archivo de salida para el contenido:
sort -o sorted.txt archivo de texto.txt
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.
ordenar textfile.txt textfile2.txt
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. La -r en el siguiente comando significa Contrarrestar.
sort -r archivo de texto.txt
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.
ordenar -n números.txt
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.
ordenar -rn números.txt
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 sort ignore las mayúsculas y minúsculas, especifique el -F o el --ignorar caso marcar de la siguiente manera:
sort -f archivo de texto.txt
sort --ignore-case textfile.txt
Producción:
Ordenar un archivo según el mes
Utilizando la -METRO bandera, puede modificar el orden del contenido de un archivo en función de los nombres de los meses.
ordenar -M archivo de texto2.txt
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.
sort -b fileblanks.txt
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 -k 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:
sort -k8 -rn salida.txt
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:
ls -la | sort -k5 -rn
Producción:
Ordenar un archivo aleatoriamente
Puedes usar el -R marcar si desea aleatorizar el orden de las líneas en un archivo de texto. Considere el archivo textfile.txt:
ordenar -R archivo de texto.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.
sort -V version.txt
sort --version-sort version.txt
Producción:
Comprobar si un archivo está ordenado
La -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:
sort -c archivo de texto.txt
Ahora, clasifiquemos el archivo y guardemos su salida en un nuevo archivo llamado sorted.txt. Al emitir el siguiente comando:
sort -c sorted.txt
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:
ordenar -c -rn números.txt
Verá una salida que indica que el archivo no está ordenado correctamente. Ordenemos el archivo y verifiquemos si el nuevo archivo pasa la prueba.
sort -o sorted.txt -rn números.txt
sort -c -rn sorted.txt
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. La -u o --único bandera es lo que necesitas.
Considere un archivo llamado duplicate.txt:
Para ordenar el archivo y eliminar los datos repetidos:
sort -u duplicate.txt
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.
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
- Linux
- Gestión de archivos
- Linux
- Comandos de Linux
Deepesh es el editor junior para Linux en MUO. Ha estado escribiendo contenido informativo en Internet durante más de 3 años. En su tiempo libre le gusta escribir, escuchar música y tocar la guitarra.
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!
Un paso más…!
Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.