¿Hay alguna forma de mantener el texto pasado al principio, al final, menos, etc. para colorearlo?

¿Hay alguna forma de mantener el texto pasado al principio, al final, menos, etc. para colorearlo?

¿Hay alguna forma de mantener la coloración del texto que pasa a través de la tubería hacia |,,, headetc. ?tailless

Respuesta1

Supongo que está conectando lsy 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 glarken lugar de grepél, intentará mostrarlo con colores.

lessSi 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 lsmenciona la CLICOLOR_FORCEvariable de entorno.

Agregar export CLICOLOR_FORCE=1a ~/.zshrco ~/.bashrc, dependiendo del shell que uses, mantiene los colores al conectar lsotros comandos como less, heady tail.

Respuesta4

Considerar

bat

Una alternativa a

cat

Instalar

brew install bat

--args --flags como

--languagey--theme

Ejemplos

head | bat --language=zsh -n -p --theme=gruvbox-dark
file.py | bat --language=py -n -p --theme=gruvbox-dark

información relacionada