bat ist ein in Rust (nein, es ist nicht die Gemeinde mit dem Freizeitpark gemeint) geschriebenes, plattformunabhängiges Open-Source (Apache V2) Programm, welches an den Start gegangen ist, um mit Syntax Highlighting, automatischem Paging, Zeilennummerierungsanzeige, Theme- und Git-Support den alten und eingestaubten cat-Befehl in die Rente zu schicken.
bat auf Debian-basierten Systemen installieren:
# Ab Ubuntu 19.10 apt install bat # Per Deb-Paket - https://github.com/sharkdp/bat/releases Momentan 0.18 wget https://github.com/sharkdp/bat/releases/download/v0.18.0/bat_0.18.0_amd64.deb dpkg -i bat_0.18.0_amd64.deb # Per Rust-Installer (Rustup) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh cargo install bat
bat per Kommandozeilen-Installer Scoop auf Windows installieren:
# Über den Kommandozeilen-Installer Scoop scoop install bat
Screenshot bat-Ansicht Linux-Skript:

Einige scharfe bat-Beispiele:
# Anzeige ohne Tabellenansicht
bat -n
# Zeigt auch nicht druckbare Zeichen an
bat -A
# Anzeige ohne Tabellenansicht & Zeilennummer
bat -p
# Anzeige aller unterstützen Themes
bat --list-themes
# Anzeige GitHub-Syntax Theme
bat --theme=GitHub sec-ufw-firewall.sh
# Anzeige aller möglichen Syntax-Sprachen
bat --list-languages
# Zeigt die Zeilen 10 bis 20 in einem knusprigen Skript an
bat -l bash --line-range 10:20 sec-ufw-firewall.sh
# Zeigt das angegebene Logfile durchgehend/live an
tail -f /var/log/fail2ban.log | bat --paging=never -l log
# Zeigt alle out-Vorkommnisse in einem Skript an
grep out /root/scripts/sec-ufw-firewall.sh | bat -l bash
# Findet alle Shell-Skripte in einem Ordner und zeigt diese ungeniert an
find /root/scripts/ -iname *.sh -exec bat {} +
# Setzt MANPAGER Umgebungsvariable damit Manpage-Aufrufe bunt dagestellt werden
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man find


