Dans la sortie colorée triée ls|sort
, nous pouvons voir que la dernière ligne xyz-0.0.1-1554323568.rpm
est la première ligne de la sortie non colorée. Les autres lignes sont triées de manière égale.
Si nous regardons les codes d'échappement colorés (non triés), nous pouvons voir que la première ligne commence par un code d'échappement différent ^[[0m
. Cela provoque un mauvais ordre lors du tri (^[[01
avant ^[[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$
Faire :
/bin/ls --color > file1
/bin/ls > file2
et comparez le contenu, vous verrez la différence.
Aliasing ls
à /bin/ls --color=auto
est probablement une meilleure idée, cela arrêtera ls
d'utiliser des codes de couleur lorsque vous n'écrivez pas directement dans le terminal (comme lorsque vous passez au programme suivant ou que vous écrivez dans un fichier).