0 votos

Añadir colores a la salida de los actuales comandos de la CLI

Me gustaría crear una función / alias que colorea la salida de otro comando. Hay una mejor práctica manera de hacerlo?

Por ejemplo, tomemos el alias comando, cuya salida se ve algo como esto:

Original

En el estándar de bash/zsh, esto es todo en el mismo color. Sin embargo, me gustaría para ajustar la salida de modo que la parte antes de que el alias de sí mismo (la parte antes de la =) es de color verde, y el alias de comandos (la parte después de la =) es de color rojo, por ejemplo.

Obviamente, alias es solo un ejemplo, como me gustaría añadir colores a otros comandos.

Mi solución actual utiliza awk:

alias | awk -F"=" '{print "\033[1;32m" $1 "\033[0m=\033[1;31m"$2"\033[0m "}'

MWE

No me resulta especialmente atractivo (especialmente los códigos de color). También parece que este enfoque será mucho más complicado para los comandos más complejos (por ejemplo, para añadir el color de salida a top o ps) y también no parece muy sostenible en el largo plazo.

Las ideas sobre cómo hacer que este mejor y / o más fácil ?

PS: supongo que esto es un Unix/Linux terminal pregunta en general, pero ya que yo trabajo principalmente en OS X, me decidí a empezar a preguntar por aquí...


EDIT: ahora me encontrado esta respuesta, que propone el uso de funciones para hacer awk de salida se vean más bonitas. No estoy seguro de si quiero tener un montón de funciones de formateo de las aureolas alrededor de mi terminal. Con la esperanza de conseguir algo más limpio...

He aquí el ejemplo:

function red(s) {
    printf "\033[1;31m" s "\033[0m "
}

function green(s) {
    printf "\033[1;32m" s "\033[0m "
}

{
    print red($1), green($2), blue($3)
}

1voto

JMY1000 Puntos 1205

Especialmente puesto que usted ya está usando zshrecomendaría el uso de la existente resaltador de marco (y builtin marcadores) de zsh-syntax-highlighting o fast-syntax-highlighting Basado en una revisión preliminar, ambos deben tener la documentación suficiente para que, espero, le permiten configurar su entorno preferido.

Aquí está una captura de pantalla de zsh-syntax-highlighting's predeterminada analizador de funcionamiento en el análisis de comandos proporcionada (meta, ¿verdad?)

enter image description here

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X