En la salida coloreada ordenada ls|sort
, podemos ver que la última línea xyz-0.0.1-1554323568.rpm
es la primera línea de la salida sin color. Las otras líneas se ordenan por igual.
Si echamos un vistazo a los códigos de escape de colores (no ordenados), podemos ver que la primera línea comienza con un código de escape diferente ^[[0m
. Esto está causando un orden incorrecto cuando se ordena (^[[01
antes de ^[[0m
).
$ /bin/ls --color xyz* | cat -A
^[[0m^[[01;31mxyz-0.0.1-1554323568.rpm^[[0m$
^[[01;31mxyz-0.0.1-1554490900.rpm^[[0m$
^[[01;31mxyz-0.0.1-1554745305.rpm^[[0m$
^[[01;31mxyz-0.0.1-1554751021.rpm^[[0m$
^[[01;31mxyz-0.0.1-1555513460.rpm^[[0m$
^[[01;31mxyz-0.0.1-1555951745.rpm^[[0m$
Hacer:
/bin/ls --color > file1
/bin/ls > file2
y compara contenido, verás la diferencia.
Alias ls
a /bin/ls --color=auto
es probablemente una mejor idea, detendrá ls
del uso de códigos de color cuando no se escribe directamente en la terminal (como cuando se canaliza al siguiente programa o se escribe en un archivo).