¿Hay alguna forma de mantener la coloración del texto que pasa a través de la tubería hacia |
,,, head
etc. ?tail
less
Respuesta1
Supongo que está conectando ls
y desea conservar los códigos de color de los terminales. Puede decir ls --color=always
(en lugar del valor predeterminado --color=auto
), lo que preservará los códigos, pero eso no garantizará que la cosa a la que está canalizando sepa cómo entenderlos.
Si lo usa glark
en lugar de grep
él, intentará mostrarlo con colores.
less
Si lo usa -R
, intentará mostrarlo con colores.
Respuesta2
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 el que generalmente verifica si la salida va a la consola (coloreada), a un archivo o tubería (no coloreada)
encontréotra pregunta y respuesta de SUmostrando cómo mentir a los programas de canalización para generar salida como si estuvieran enviando salida a una consola (emulando una consola con unbuffer
)
Respuesta3
En Mac OS X man ls
menciona la CLICOLOR_FORCE
variable de entorno.
Agregar export CLICOLOR_FORCE=1
a ~/.zshrc
o ~/.bashrc
, dependiendo del shell que uses, mantiene los colores al conectar ls
otros comandos como less
, head
y tail
.
Respuesta4
Considerar
bat
Una alternativa a
cat
Instalar
brew install bat
--args --flags como
--language
y--theme
Ejemplos
head | bat --language=zsh -n -p --theme=gruvbox-dark
file.py | bat --language=py -n -p --theme=gruvbox-dark