bat: El clon de cat pero con alas

Así se describe bat, la herramienta de línea de comandos que permite mostrar archivos de texto pero con formato y colores, y la verdad es que el nombre y la analogía le hacen justicia al proyecto.

bat: A cat(1) clone with wings.

https://github.com/sharkdp/bat

Reconozco que después de usar por muchos años cat fué difícil pensar en cambiar a otra herramienta. Las dudas surgieron imediantamente; si el comando podría manejar archivos grandes, si el formato de colores lo haría lento o incluso si sería segura la forma en que se interpretan ciertos tipos de archivos (json, xml, etc).

Unos meses después de utilizarla diariamente podemos decir que fluye rapidita, la sintaxis es clara y sencilla, el coloreado de las páginas del manual se agradece, en fin… es maravillosamente útil 🙂

¿Que puede hacer por ti?

  • Colorear la sintaxis de archivos de texto; lenguajes de marcado como markdown o rst, de programación como python o ruby, logs y más (en la lista pudimos contar mas de 160 diferentes :D)
  • Integrarse con git
  • Colorear las páginas del manual que se leen con man
  • Tiene paginado automático y números de línea
  • Recibir salidas de otros comandos y colorearlas

¿Como se instala?

Si quieres probar bat puedes instalarlo con el gestor de paquetes de tu distro:

Debian y derivadas

apt install bat

Arch y derivadas

pacman -S bat

Compilarla desde el código fuente

bat está programada en Rust, así que puede clonar su código fuente y compilarlo con cargo:

git clone https://github.com/sharkdp/bat
cd bat
cargo install --locked bat

¿Como lo uso?

El ejemplo más sencillo es mostrar un archivo:

bat prueba.md

Otra cosa muy útil es colorear la salida de la entrada estándar, como cuando obtienes una salida en JSON desde otro comando y la quieres formatear:

Y por último, un detalle sencillo pero muy lindo es la posibilidad de colorear las páginas del manual:

export MANPAGER="sh -c 'col -bx | bat -l man -p'"

Leave a Reply