Supongo que estás canalizando desde ls
y desea conservar los códigos de color del terminal. Puedes decir ls --color=always
(en lugar del valor predeterminado de --color=auto
), que conservará los códigos, pero eso no garantizará que la cosa a la que estás conectando sepa cómo entenderlos.
Si usa glark
en lugar de grep
intentará mostrarse con colores.
Si usa less
con -R
intentará mostrarse con colores.
Depende del programa que genera la salida en la tubería.
head
, tail
, etc. no son los que eliminan los colores, es el programa que genera los datos los que generalmente verifican si la salida va a la consola (coloreada), un archivo o tubería (no coloreada)
Encontré otra sesión de preguntas y respuestas de SU que muestra cómo mentir a los programas de canalización para que emitan como si estuvieran enviando resultados a una consola (emulando una consola con unbuffer
)