Terme du glossaire
La commande CAT
Mis à jour le
Sous le vernis de macOS se cache un système Unix, et avec lui un jeu de commandes vieilles de plus de cinquante ans qui n’ont jamais eu besoin d’être remplacées. cat est l’une des plus simples, et l’une des plus employées.
Définition de la commande cat
cat est une commande du Terminal qui affiche le contenu d’un ou plusieurs fichiers texte dans la fenêtre. Son nom est l’abréviation de concatenate — « mettre bout à bout » — car sa fonction d’origine est d’assembler plusieurs fichiers en un seul flux.
Elle est apparue dans les premiers systèmes Unix, au début des années 1970. macOS reposant sur un noyau Unix (Darwin), elle en a hérité telle quelle : elle est présente sur tous les Mac, sans rien à installer.
La syntaxe de base
Ouvrez le Terminal (Applications → Utilitaires, ou ⌘ + Espace puis « Terminal ») et tapez :
cat notes.txt
Le contenu du fichier s’affiche. Pour en afficher plusieurs à la suite :
cat partie1.txt partie2.txt
Et pour écrire le résultat dans un nouveau fichier plutôt que de l’afficher :
cat partie1.txt partie2.txt > complet.txt
Les options qui servent vraiment
cat -n fichier.txt— numérote toutes les lignes. Pratique pour situer une erreur dans un script ou un fichier de configuration.cat -b fichier.txt— numérote uniquement les lignes non vides.cat -e fichier.txt— affiche un$en fin de ligne. Le seul moyen simple de voir des espaces traînant en bout de ligne.cat -v fichier.txt— rend visibles les caractères non imprimables, utile pour diagnostiquer un fichier au codage douteux.
Deux pièges à connaître
Le chevron simple écrase. cat a.txt > b.txt remplace intégralement le contenu de b.txt, sans confirmation ni corbeille. Pour ajouter à la fin d’un fichier existant, il faut doubler le chevron : cat a.txt >> b.txt. C’est l’erreur classique, et elle est irréversible.
cat n’est pas fait pour les gros fichiers. Sur un fichier de plusieurs milliers de lignes, tout défile d’un coup et vous ne voyez que la fin. Utilisez plutôt less fichier.txt, qui permet de naviguer (flèches, / pour chercher, q pour quitter), ou head et tail pour n’afficher que le début ou la fin.
cat dans une chaîne de commandes
La vraie puissance d’Unix vient de l’enchaînement des commandes par le tube (|). cat sert alors de point de départ :
cat journal.txt | grep "erreur"
affiche uniquement les lignes contenant le mot « erreur ». Les puristes vous diront — à juste titre — que grep "erreur" journal.txt fait la même chose sans passer par cat. Ils ont raison sur l’efficacité ; en pratique, la forme avec cat reste très répandue parce qu’elle se lit de gauche à droite, dans l’ordre où l’on pense.
Créer un fichier avec cat
Sans nom de fichier, cat lit ce que vous tapez au clavier. Combiné à une redirection, cela permet de créer un fichier sans ouvrir d’éditeur :
cat > memo.txt
Tapez votre texte, puis Contrôle + D pour terminer. Le fichier est créé dans le dossier courant.
En bref : ce qu’il faut retenir sur cat
- cat affiche le contenu d’un fichier texte, ou en assemble plusieurs.
- Le nom vient de concatenate ; la commande est héritée d’Unix et présente sur tout Mac.
>écrase le fichier de destination,>>ajoute à la fin.- Pour un fichier volumineux, préférez
less,headoutail. -nnumérote les lignes,-erévèle les fins de ligne.
Ressources et liens utiles
- Guide d’utilisation du Terminal — Assistance Apple
- Dans le Terminal,
man cataffiche le manuel complet de la commande.