La commande cat sous Linux : Guide complet
La commande cat
est l’une des commandes les plus fondamentales et polyvalentes sous Linux. Son nom, abréviation de “concatenate”, suggère sa fonction principale qui est de concaténer et afficher le contenu des fichiers. Cependant, son utilité ne se limite pas à cela. Dans ce guide complet, nous explorerons en détail les différentes utilisations de la commande cat
dans l’environnement linux, ses options, ainsi que des exemples pratiques pour vous aider à mieux comprendre son fonctionnement.
Introduction à la commande cat
La commande cat
est utilisée pour afficher le contenu des fichiers texte sur le terminal. Elle peut également être utilisée pour concaténer plusieurs fichiers en un seul, ou encore créer de nouveaux fichiers. Sa syntaxe de base est simple :
cat [OPTIONS] [FICHIER(S)]
Utilisation de base
Pour afficher le contenu d’un fichier, il vous suffit de spécifier le nom du fichier comme argument pour la commande cat
:
cat fichier.txt
Cela affichera le contenu du fichier fichier.txt
sur votre terminal.
Concaténation de fichiers
La commande cat
peut être utilisée pour concaténer plusieurs fichiers en un seul. Pour ce faire, il suffit de spécifier les noms des fichiers à concaténer :
cat fichier1.txt fichier2.txt > fichier_concatene.txt
Cette commande concaténera le contenu des fichiers fichier1.txt
et fichier2.txt
dans un nouveau fichier appelé fichier_concatene.txt
.
Options courantes
La commande cat
dispose de plusieurs options qui permettent de personnaliser son comportement. Voici quelques-unes des options les plus couramment utilisées :
-n
: Numérote chaque ligne du fichier.-b
: Numérote chaque ligne non vide du fichier.-s
: Supprime les lignes vides lors de l’affichage.-E
: Ajoute un caractère de fin de ligne ($) à la fin de chaque ligne affichée.
Exemples pratiques
Numéroter les lignes d’un fichier
cat -n fichier.txt
Cette commande affichera le contenu du fichier fichier.txt
en numérotant chaque ligne.
Concaténer plusieurs fichiers avec numérotation
cat -n fichier1.txt fichier2.txt > fichier_concatene.txt
Cette commande concaténera les fichiers fichier1.txt
et fichier2.txt
tout en numérotant chaque ligne et sauvegardera le résultat dans fichier_concatene.txt
.
Afficher le contenu d’un fichier en supprimant les lignes vides
cat -s fichier.txt
Cette commande affichera le contenu du fichier fichier.txt
en supprimant les lignes vides.
Voici quelques cas particuliers où la commande cat
peut être utile :
1. Afficher le contenu de plusieurs fichiers en même temps :
cat fichier1.txt fichier2.txt fichier3.txt
Cette commande affiche le contenu des trois fichiers fichier1.txt
, fichier2.txt
et fichier3.txt
à la suite les uns des autres dans le terminal.
2. Créer un fichier à partir de l’entrée standard :
cat > nouveau_fichier.txt
En utilisant cette commande, vous pouvez saisir manuellement du texte dans le terminal et le sauvegarder dans un nouveau fichier nommé nouveau_fichier.txt
. Appuyez sur Ctrl + D pour terminer l’entrée.
3. Afficher le contenu d’un fichier inversé (de bas en haut) :
tac fichier.txt
Bien que tac
soit spécifiquement conçu pour cela, il utilise une approche similaire à cat
et peut être considéré comme son inverse.
4. Afficher le contenu d’un fichier sans pagination :
cat fichier.txt | less -S
Parfois, lorsque vous affichez un fichier volumineux avec cat
, il défile trop rapidement. En utilisant less
avec l’option -S
, la sortie sera paginée de manière à ce que chaque ligne reste intacte, vous permettant de lire plus facilement.
5. Afficher uniquement les premières ou dernières lignes d’un fichier :
head fichier.txt
tail fichier.txt
Bien que head
et tail
soient des commandes dédiées pour afficher les premières ou dernières lignes d’un fichier, ils fonctionnent de manière similaire à cat
mais se concentrent sur une partie spécifique du fichier.
Ces cas particuliers démontrent la flexibilité et la polyvalence de la commande cat
ainsi que sa capacité à s’intégrer dans différentes situations de traitement de fichiers sous Linux.
Bien sûr ! Voici quelques cas complexes qui démontrent la puissance de la commande cat
dans des scénarios plus avancés :
1. Extraction de lignes spécifiques à partir de plusieurs fichiers :
cat fichier1.txt fichier2.txt | grep "motif"
Cette commande concatène le contenu de fichier1.txt
et fichier2.txt
, puis utilise grep
pour rechercher un motif spécifique dans les lignes combinées. Cela permet d’extraire des lignes contenant le motif recherché à partir de plusieurs fichiers.
2. Combinaison de fichiers compressés et non compressés :
cat fichier.txt fichier.gz > combine.txt
Cette commande concatène le contenu d’un fichier texte (fichier.txt
) avec le contenu d’un fichier compressé (fichier.gz
) en un seul fichier (combine.txt
). Cela peut être utile lorsque vous avez des données étendues à la fois dans des fichiers compressés et non compressés.
3. Ajout d’en-têtes à plusieurs fichiers CSV et fusion en un seul fichier :
cat entete.csv $(ls *.csv | grep -v 'entete.csv') > fichier_final.csv
Cette commande combine plusieurs fichiers CSV en un seul. Elle commence par concaténer un fichier d’en-têtes (entete.csv
) avec tous les autres fichiers CSV du répertoire, sauf le fichier d’en-têtes lui-même, pour créer un fichier CSV final contenant tous les enregistrements avec des en-têtes corrects.
4. Comparaison de fichiers :
cat fichier1.txt fichier2.txt | sort | uniq -u
Cette commande concatène le contenu de deux fichiers texte (fichier1.txt
et fichier2.txt
), les trie, puis utilise uniq
pour afficher uniquement les lignes uniques. Cela peut être utile pour comparer deux fichiers et afficher les différences entre eux.
5. Extraction d’un fichier binaire à partir de l’entrée standard :
cat > fichier_binaire.bin
En utilisant cette commande, vous pouvez saisir manuellement le contenu binaire dans le terminal, par exemple, en copiant-collant le contenu d’un fichier binaire depuis un autre emplacement, puis sauvegarder le résultat dans un fichier nommé fichier_binaire.bin
. Cette utilisation peut être pratique dans des cas où vous devez créer ou modifier des fichiers binaires directement depuis le terminal.
Ces exemples montrent comment la commande cat
peut être utilisée de manière complexe pour répondre à des besoins spécifiques dans des scénarios avancés sous Linux.