El comando ccat para colorear la salida del comando cat
En este artículo vamos a ver como obtener la salida del comando cat coloreada para facilitar su lectura y comprensión. En los sistemas GNU/Linux utilizamos la herramienta cat con la terminal, para combinar, copiar ficheros de texto e imprimir por la salida estandar, el contenido de cualquier fichero.
Pero disponemos de la herramienta ccat, con un funcionamiento y sintaxis igual a cat, que añadirá color a nuestra terminal.
Sumario
- Que es el comando ccat
- Instalación de ccat
- Uso de ccat
- Mostrar la salida de varios ficheros
- Personalización de ccat
- Configurar los códigos de color
Que es el comando ccat
El comando ccat está escrito en Go, publicado bajo una licencia del MIT y disponible desde GitHub. No recibe actualizaciones desde 2015, pero lo puedes utilizar sin ningún problema.
Nos mostrará los contenidos resaltando la sintaxis, todo un punto a la hora de leer código. Los lenguajes admitidos para el resaltado de sintaxis son: JavaScript, Java, Ruby, Python, Go, C y JSON.
ccat significa «colored cat». Al igual que el comando cat lee los ficheros secuencialmente y los escribe por la salida estandar, generalmente la pantalla. Pero con una diferencia, añade resaltado de sintaxis y colores a los textos mostrados.
Conseguiremos una experiencia en la línea de comandos que facilita su uso, mejorando la legibilidad y la comprensión del código.
Instalación de ccat
Antes de empezar a usar la nueva herramienta, la tenemos que instalar. Para ello descargamos la última versión desde Github.
Este proceso varía según la distribución de Linux que estemos utilizando. Veamos.
Para Ubuntu, Debian y derivados, el proceso comienza con la descarga del paquete «.deb» más reciente del repositorio oficial de ccat en GitHub, que se puede encontrar en este enlace .
Después de descargar el paquete, puedes instalarlo usando el comando dpkg
sudo dpkg -i /ruta/al/directorio_de_descarga/fichero.deb
También lo puedes descargar desde la terminal ejecutando
wget https://github.com/jingweno/ccat/releases/download/v1.1.0/linux-amd64-1.1.0.tar.gz
Comprobamos que lo tenemos descargado
Una vez descargado, extraemos el contenido del paquete
tar xfz linux-amd64-1.1.0.tar.gz
Necesitaremos añadir el ejecutable a nuestro $PATH, por ejemplo a «/usr/local/bin/» ejecutando
sudo cp linux-amd64-1.1.0/ccat /usr/local/bin/
Y ya solo nos faltará darle permisos de ejecución con
sudo chmod +x /usr/local/bin/ccat
En Arch Linux y Manjaro, para descargar e instalar el paquete ccat desde el repositorio AUR, usa el comando
git clone https://aur.archlinux.org/ccat.git cd ccat makepkg -si
Otra opción, si usas otro sistema, es compilar ccat desde su código fuente. Para hacerlo, asegúrate de tener el lenguaje «Go» instalado y después clona el repositorio ccat, finalmente compila e instala
git clone https://github.com/jingweno/ccat.git cd ccat go build sudo mv ccat /usr/local/bin/
Uso de ccat
Disponemos de un manual de uso y ayuda ejecutando el comando
ccat --help o ccat -h
Veamos como funciona. La sintaxis de ccat sigue el mismo patrón que el comando cat, solo cambiando cat por ccat
ccat nombre_fichero
Para ver mejor las diferencias ejecutamos, primero el comando cat y luego ccat
cat nombre_fichero
ccat nombre_fichero
Observamos que los diferentes tipos de texto, como comentarios, palabras clave y cadenas, se imprimen con colores diferentes, lo que proporciona una salida más fácil y agradable a la vista. Por ejemplo, los comentarios se muestran en azul, las palabras clave en amarillo y negrita y las cadenas en verde.
Mostrar la salida de varios ficheros
Para que nos muestre el contenido de dos ficheros tenemos que añadir al comando, como argumentos, los ficheros que queramos mostrar.
ccat nombre_fichero nombre_fichero2
En mi caso he ejecutado
ccat compresor.sh calculadora.sh
Otra curiosa opción es ver el contenido de un fichero en formato HTML agregando la opción «–html» al final del comando.
ccat nombre_fichero --html
Personalización de ccat
Si te ha gustado ccat y quieres utilizarlo de forma predeterminada cuando ejecutes cat, puedes crear un alias
alias cat='ccat' o alias cat='/usr/local/bin/ccat'
Si quieres que este cambio sea persistente añade la siguiente línea a tu fichero «.bashrc» o «.zshrc», según la shell que utilices.
sudo nano ~/.bashrc
Y ya lo tendremos tras actualizar o cerrar y abrir la terminal.
source ~/.bashrc
Configurar los códigos de color
La personalización es uno de los beneficios de ccat. Podemos ajustar los colores para diferentes tipos de texto en la salida, a nuestro gusto.
Para consultar los códigos de color que se aplican por defecto y otras opciones disponibles ejecuta
ccat --palette
También podemos colorear la salida con los colores de nuestra elección ejecutando, por ejemplo,
ccat -G String="darkteal" -G Plaintext="green" -G Keyword="turquoise" nombre_fichero
Las opciones son
- –bg=»light»: para elegir «claro» u «oscuro» dependiendo del color de fondo de la terminal
- -C, –color=»auto»: colorea la salida. Los valores pueden ser «never», «always» o «auto»
- -G, –color-code=: establecer los códigos de color
- -h, –help=false: Ayuda para ccat
- –html=false: Salida en formato html
- –palette=false: muestra la paleta de colores
- -v, –version=false: Ver versión
Ejemplos:
- ccat fichero1 fichero2 …
- ccat –bg=dark fichero1 fichero2 … # fondo oscuro
- ccat –html # salida en formato html
- ccat -G String=»darkblue» -G Plaintext=»darkred» fichero # elección de colores
- ccat –palette # mostrar la paleta de colores
- ccat # leer desde la entrada estandar (teclado)
Para personalizar ccat, tenemos que crear un fichero de configuración «JSON» llamado «.ccat» en el directorio de inicio. Cada elemento del fichero «JSON» representa una parte diferente de tu código. Puedes asignar diferentes colores para literales, palabras clave, comentarios, cadenas y muchos más. Aquí hay un ejemplo:
{ "Color": { "String": "#dd2200", "Keyword": "#2255dd", "Comment": "#00aa22", "Plaintext": "#00aadd" } }
Una vez que hayamos guardado el fichero de configuración, ccat aplicará estos códigos de color la próxima vez que lo usemos.
Conclusión
La herramienta ccat es una excelente manera de mejorar la representación visual de la terminal, si usas a menudo el comando cat. Al colorear la salida, ccat nos ofrece una mejor legibilidad, comprensión y una satisfactoria experiencia del usuario.
Tienes toda la información sobre este comando consultando la página de GitHub del proyecto.
Si tienes algún comentario que hacer sobre este artículo, al pie del post tienes un formulario para hacerlo.
Si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, en la página de contacto , tienes un formulario más adecuado.
Y para suscribirte y recibir las novedades publicadas, tienes un enlace en pie de la página o desde aquí mismo.