Le problème n'est pas que more
et less
ne colorient pas leur sortie, c'est que ls
ne produit pas la couleur car il est connecté à un autre processus plutôt qu'au terminal.
Vous ne pouvez pas facilement obtenir ls
pour être plus intelligent sur le moment où il produit de la couleur, mais vous pouvez ajouter --color
pour le forcer à produire de la couleur lorsque vous le dirigez vers more
Lorsque vous avez une sortie couleur, utilisez ... |less -R
faire less
transmettre les couleurs au terminal au lieu d'afficher les codes d'échappement sous forme de texte
ls --color | less -r
Testé sur Linux, espace utilisateur GNU.