bat : une alternative à la commande cat, mais en mieux.
Si il y a une commande dont on use et abuse sous Linux c’est bien cat
. Que ce soit pour afficher le contenu d’un fichier de texte brut ou concaténer plusieurs fichiers (qui est sa fonctionnalité première), il est difficile de s’en passer.
bat
, une alternative à la commande cat
, développée en langage Rust, dispose en plus de la coloration syntaxique, de la pagination (oui il remplace aussi less
) et de l’intégration de Git. De quoi sérieusement nous rendre la ville meilleure dans le terminal. Dans cet article nous passerons en revue son installation et son utilisation.
En quoi « bat » est une alternative à la commande « cat » ?
Du point de vue de la concaténation, il n’y a pas vraiment de différence, c’est principalement lorsqu’on utilise bat
pour afficher du contenu textuel que ses particularités sautent aux yeux.
Voici un exemple d’affichage d’un fichier de code Python avec cat
:
Et maintenant le même fichier affiché avec bat
:
Comme vous le remarquerez bat, par défaut, ajoute de la coloration syntaxique, numérote les lignes de code et ajoute même un entête à l’affichage. Nous pouvons bien évidemment changer ces comportements en passant des options à la ligne de commande, nous y reviendrons plus tard.
Installation de « bat »
L’installation de bat
dépend fortement de la distribution que vous utilisez. Il est toutefois disponible pour la plupart d’entre elles, que ce soit Ubuntu, Debian, Arch Linux, Rocky Linux etc.
sudo apt install bat
sudo pacman -S bat
sudo dnf install bat
# Installation dans l'environnement utilisateur
sudo dnf install cargo
cargo install --locked bat
echo "PATH=$HOME/.cargo/bin:$PATH" >> ~/.bashrc
# Installation au niveau du système
# Attention: Ceci implique d'installer cargo et bat pour l'utilisateur root
sudo -s
dnf install cargo
cargo install --locked bat
ln /root/.cargo/bin/bat /usr/bin/bat
exit
Utilisation de « bat »
Petite particularité si vous utilisé Debian ou Ubuntu, la commande sera batcat
.
batcat [OPTIONS] [FILE]...
batcat <SUBCOMMAND>
bat [OPTIONS] [FILE]...
bat <COMMAND>
Principales options de « bat »
Option | Description |
---|---|
-p | Affichage sans décoration |
-pp | Affichage sans décoration et sans pagination |
-l <langage> | Spécifier le langage de coloration syntaxique |
-n | Afficher uniquement les numéros de lignes, pas d’autre décoration |
-r <N:M> | N’afficher que les lignes de N à M |
-h | Afficher l’aide |
Cette liste n’est pas exhaustive, pour plus d’informations, nous pouvons faire appel à l’option -h
.
Exemples d’utilisation de « bat »
Dans les exemples ci-dessous, vous pouvez remplacer bat
par batcat
si vous êtes sous Ubuntu ou Debian.
Affichage simple d’un fichier
bat fichier
Affichage d’un sélection de lignes
bat -r N:M fichier
Affichage sans décoration
bat -p fichier
Afficher plusieurs fichiers
bat fichier_1 fichier_2 ... fichier_n
Concaténer plusieurs fichier pour l’affichage
bat -p fichier_1 fichier_2 ... fichier_n
Rediriger la concaténation dans un fichier des destination
bat fichier_1 fichier_2 ... fichier_n > destination
Conclusion
Difficile de se passer de bat une fois qu’on y a goûté. A lui seul il remplace les commandes cat
et less
, puis qu’il assure aussi la pagination, et il fait encore mieux puisqu’il propose de la coloration syntaxique mais aussi l’intégration de git (notamment pour afficher les différence entre un fichier et l’état du dernier commit. En somme c’est une petite pépite.
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.