- Lori Kaufman
@howtogeek
- Mise à jour le 11 juillet 2017, 21 :26pm EDT
La commande cat est très utile sous Linux. Elle possède trois fonctions principales liées à la manipulation des fichiers texte : les créer, les afficher et les combiner.
RELATED : Comment créer rapidement un fichier texte à l’aide de la ligne de commande sous Linux
Nous avons abordé l’utilisation de la commande cat (entre autres) pour créer et afficher des fichiers texte sur la ligne de commande sous Linux. Mais supposons que vous ayez trois fichiers texte : file1.txt, file2.txt et file3.txt. Vous souhaitez les combiner (ou les concaténer) en un seul fichier texte contenant les informations des trois fichiers, dans cet ordre. Vous pouvez également le faire avec la commande cat.
Il suffit d’ouvrir un Terminal et de taper la commande suivante :
cat file1.txt file2.txt file3.txt
Évidemment, remplacez les noms de fichiers dans l’exemple ci-dessus par les vôtres.
Le contenu combiné des trois fichiers texte apparaîtra dans votre terminal.
RELATED : Devenez un Power User du terminal Linux avec ces 8 astuces
Typiquement, cependant, vous voudrez probablement combiner ces fichiers texte dans un autre fichier texte, et pas seulement imprimer les résultats à l’écran. Heureusement, cette opération est très simple. Il vous suffit d’ajouter un symbole de redirection de sortie (>
) après la liste des fichiers à concaténer, puis de spécifier le nom du fichier texte final.
cat file1.txt file2.txt file3.txt > file4.txt
NOTE : Le fichier listé après le symbole de redirection de sortie sera écrasé, s’il existe déjà. Soyez donc prudent lorsque vous spécifiez le nom du fichier texte combiné. Nous vous montrerons plus loin dans cet article comment ajouter des fichiers à la fin d’un fichier existant.
Si vous ouvrez file4.txt (soit avec la commande cat, soit avec l’éditeur de texte de votre choix), vous devriez constater qu’il contient le texte des trois premiers fichiers texte.
Si vous combinez des listes d’éléments provenant de plusieurs fichiers et que vous souhaitez qu’ils soient classés par ordre alphabétique dans le fichier combiné, vous pouvez trier les éléments combinés dans le fichier résultant. Pour ce faire, saisissez la commande de base cat
que nous vous avons montrée précédemment, suivie de la commande pipe (|) et de la commande sort
. Ensuite, tapez le symbole de redirection de sortie (>
) suivi du nom du fichier dans lequel vous voulez copier le texte combiné. Toutes les lignes de texte du fichier résultat seront triées par ordre alphabétique.
cat file1.txt file2.txt file3.txt | sort > file4.txt
Comme nous l’avons mentionné précédemment, il existe également un moyen d’ajouter des fichiers à la fin d’un fichier existant. Tapez la commande cat
suivie du ou des fichiers que vous souhaitez ajouter à la fin d’un fichier existant. Ensuite, tapez deux symboles de redirection de sortie (>>
) suivis du nom du fichier existant que vous voulez ajouter.
cat file5.txt >> file4.txt
Si vous voulez ajouter un bout de nouveau texte à un fichier texte existant, vous utilisez la commande cat
pour le faire directement depuis la ligne de commande (au lieu de l’ouvrir dans un éditeur de texte). Tapez la commande cat
suivie du double symbole de redirection de sortie (>>
) et du nom du fichier auquel vous voulez ajouter du texte.
cat >> file4.txt
Un curseur apparaîtra sur la ligne suivante sous l’invite. Commencez à taper le texte que vous voulez ajouter au fichier. Lorsque vous avez terminé, appuyez sur Entrée après la dernière ligne, puis sur Ctrl+D pour copier ce texte à la fin du fichier et quitter cat.
RELATED : Comment obtenir de l’aide avec une commande depuis le terminal Linux : 8 astuces pour les débutants & Pros comme les autres
Si vous vous retrouvez avec un fichier très long une fois que vous avez combiné vos fichiers texte, vous pouvez utiliser le symbole du tuyau avec la commande less lors de l’affichage du fichier dans la fenêtre du Terminal. Par exemple, cat file4.txt | less
. Nous abordons l’utilisation de la commande less dans cet article.
Lori Kaufman est une experte en technologie avec 25 ans d’expérience. Elle a été rédactrice technique senior, a travaillé en tant que programmeur et a même dirigé sa propre entreprise multilocale.Lire la bio complète »
.