jueves, 18 de febrero de 2016

Comando SORT en Unix.

Utilización del comando SORT en Unix (HP-UX)


NOMBRE:


SORT - Ordenar archivos.


Sintaxis:


Sort [-opcion].


Antes de pasar a la descripción del comando SORT, vale la pena especificar algunos de los términos que se utilizan, tales como:


ASCII -> Del acrónimo “American Standard Code for Information Interchange” en español “Código Estándar Americano para el intercambio de información” ya que las computadoras solamente entienden código ASCII es más fácil y rápido procesar esa información.


Archivo de Entrada –> Comando o instrucción que utilizamos para combinarlo con el comando SORT.


Archivo de Salida -> El resultado de la instrucción que ingresamos a la ventanilla de comandos, convertido a un archivo de texto.


Salida Estándar -> El resultado de la instrucción que ingresamos a la ventanilla de comandos, que se muestra en la misma pantalla.

DESCRIPCIÓN

Ordena y clasifica las líneas de los archivos denominados y escribe el resultado dependiendo de la utilización o el comando añadido.


Las comparaciones se basan en una o más teclas de ordenar extraídos de cada  línea de entrada. De forma predeterminada, hay una clave de ordenación.


Las siguientes opciones alteran el comportamiento por defecto:


Opción –A: Nos da un resultado en bytes utilizando valores codificados para cada carácter, si estamos utilizando caracteres ASCII en el comando SORT el desempeño será más rápido.


Opción –c: Comprueba que el archivo de entrada está ordenada de acuerdo a las reglas de ordenación, no se produce salida alguna, es decir que no veremos que el comando SORT arroje alguna información.


Opción –m: Muy parecido a la opción –c, solamente combina los archivos de entrada que ya se encuentran ordenados.


La salida –o: Argumento dado para crear un nuevo archivo de salida, en lugar de la salida estándar. Este archivo puede ser el mismo como uno de los archivos de entrada.


-u Único: Suprime todas las líneas que son iguales, por ejemplo si tenemos una lista de meses y se repiten, solo los mostrara una sola vez.


-y [kmem] Muchas de las veces cuando utilizamos el comando SORT en archivos muy grandes empieza a consumir una gran cantidad de memoria y puede afectar el desempeño del equipo, pero si esta opción se presenta como un valor el comando SORT empieza a utilizar una determinada cantidad de memoria en kilobytes que se especifica utilizando el comando SORT –y [kmem], por convención la opción –y sin argumento empieza con el máximo de memoria.


-z recsz El tamaño de la línea más grande de lectura se registra en memoria. Si se omite esta opción a través  las opciones -c o -m, se utilizará un tamaño por defecto.


-T dir Uso de dir como el directorio de archivos temporales en lugar de en el directorio predeterminado, que es uno de A continuación: especificado en la variable de entorno TMPDIR; /var/tmp, y finalmente, /tmp.



Opciones de Ordenamiento





Las siguientes opciones tienen prioridad sobre las reglas de ordenación por defecto:


-d ordenamiento cuasi-diccionario: sólo caracteres alfanuméricos y espacios en blanco (espacios y pestañas), según lo definido por LC_CTYPE.


-f letras Fold. Antes de ser comparado, las letras minúsculas se convierten efectivamente en sus     equivalentes en mayúsculas, según la definición de LC_CTYPE.


-i En las comparaciones no numéricas, ignora todos los caracteres que son no imprimibles, tal como se define por LC_CTYPE. Para los caracteres ASCII.


-n Cuando utilizamos la opción –n nuestra salida estándar nos ordena alfabéticamente nuestro s archivos o texto primeramente los signos ASCII, después las palabras compuestas y por último los archivos que empiezan con números.


-r Invierte el sentido del ordenamiento.


-M Si nos encontramos posicionados en nuestro home directory posiblemente tengamos carpetas o archivos creados con diferente fecha de creación, esta opción nos permite ordenar cada carpeta y archivo por mes.


Ejemplos:



[User] > cat list1.txt | sort -n
cinco
cuatro
diez
dos
nueve
ocho
once
seis
siete
tres
uno                                                                           
--------------------------------------------------------------------------------------------------------------------------
[2016-02-18 13:58.49]  ~
[User] > cat list1.txt | sort -rn
uno
tres
siete
seis
once
ocho
nueve
dos
diez
cuatro
cinco
--------------------------------------------------------------------------------------------------------------------------
[User] > ls -lrt | sort -o salida1.txt
--------------------------------------------------------------------------------------------------------------------------
[User] > cat salida1.txt
-rw-rwxr--    1 User UsersGrp        58 Feb 18 13:34 list1.txt
-rwxrwx---    1 User  UsersGrp       393 Feb 18 10:15 README.txt
lrwxrwxrwx    1 User  UsersGrp        10 Feb 18 10:15 MyDocuments -> /drives/u/
lrwxrwxrwx    1 User  UsersGrp        32 Feb 18 10:15 Desktop -> /drives/C/Users/yyy1a94/Desktop/
lrwxrwxrwx    1 User  UsersGrp        37 Feb 18 10:15 LauncherFolder
total 3
--------------------------------------------------------------------------------------------------------------------------
[User] > ls -lrt
total 3
-rwxrwx---    1 yyy1a94  UsersGrp       393 Feb 18 10:15 README.txt
lrwxrwxrwx    1 yyy1a94  UsersGrp        10 Feb 18 10:15 MyDocuments -> /drives/u/
lrwxrwxrwx    1 yyy1a94  UsersGrp        37 Feb 18 10:15 LauncherFolder
lrwxrwxrwx    1 yyy1a94  UsersGrp        32 Feb 18 10:15 Desktop
-rw-rwxr--    1 yyy1a94  UsersGrp        58 Feb 18 13:34 list1.txt
-rw-rwxr--    1 yyy1a94  UsersGrp       440 Feb 18 14:00 salida1.txt
drwxrwxr-x    1 yyy1a94  UsersGrp         0 Feb 18 14:04 carpeta1
--------------------------------------------------------------------------------------------------------------------------
[User] > ls -lrt | awk '{print $8}' | sort -u
10:15
13:34
14:00
14:04


En este ejemplo imprimimos la línea 8 mediante el comando awk y como podemos ver solo despliega la hora que es diferente entre si.
--------------------------------------------------------------------------------------------------------------------------


Hasta aquí este tutorial, espero que les haya servido de ayuda y recuerden que cualquier duda o comentario favor de hacerlo llegar mediante la sección aquí abajo.


¡Saludos!





No hay comentarios.:

Publicar un comentario