Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

cat – Concaténer des fichiers

Le cat La commande lit un ou plusieurs fichiers et les copie dans la sortie standard comme suit :


chat [fichier...]

chat [fichier...]


Dans la plupart des cas, vous pouvez penser à cat comme étant analogue au TYPE commande sous DOS. Vous pouvez l'utiliser pour afficher des fichiers sans pagination, par exemple :



[moi@linuxbox ~]$ chat ls-sortie.txt

[moi@linuxbox ~]$ chat ls-sortie.txt


affichera le contenu du fichier ls-sortie.txt. cat est souvent utilisé pour afficher des fichiers texte courts. Depuis cat peut accepter plus d'un fichier comme argument, il peut également être utilisé pour joindre des fichiers ensemble. Supposons que nous ayons téléchargé un fichier volumineux qui a été divisé en plusieurs parties (les fichiers multimédias sont souvent divisés de cette façon sur Usenet) et que nous souhaitons les réunir à nouveau. Si les fichiers étaient nommés :

film.mpeg.001 film.mpeg.002 ... film.mpeg.099

nous pourrions les réunir avec cette commande :



chat film.mpeg.0* > film.mpeg

chat film.mpeg.0* > film.mpeg


Étant donné que les caractères génériques se développent toujours dans l'ordre trié, les arguments seront classés dans le bon ordre.

C'est bien beau, mais qu'est-ce que cela a à voir avec l'entrée standard ? Rien encore, mais essayons autre chose. Que se passe-t-il si nous entrons "chat" sans arguments :



[moi@linuxbox ~]$ cat

[moi@linuxbox ~]$ cat


Rien ne se passe, il reste là comme s'il était accroché. Cela peut sembler ainsi, mais il fait vraiment exactement ce qu'il est censé faire.

If cat ne reçoit aucun argument, il lit à partir de l'entrée standard et comme l'entrée standard est, par défaut, attachée au clavier, elle attend que nous tapions quelque chose ! Essayez d'ajouter le texte suivant et d'appuyer sur Entrée :

Redirection de l'entrée standard


[moi@linuxbox ~]$ cat

Le rapide renard brun sauta par dessus le chien paresseux.

[moi@linuxbox ~]$ cat

Le rapide renard brun sauta par dessus le chien paresseux.


Ensuite, tapez un Ctrl-d (c'est-à-dire, maintenez la touche Ctrl enfoncée et appuyez sur « d ») pour dire cat qu'il a atteint fin de fichier (EOF) sur entrée standard :



[moi@linuxbox ~]$ cat

Le rapide renard brun sauta par dessus le chien paresseux.

Le rapide renard brun sauta par dessus le chien paresseux.

[moi@linuxbox ~]$ cat

Le rapide renard brun sauta par dessus le chien paresseux.

Le rapide renard brun sauta par dessus le chien paresseux.


En l'absence d'arguments de nom de fichier, cat copie l'entrée standard vers la sortie standard, nous voyons donc notre ligne de texte répétée. Nous pouvons utiliser ce comportement pour créer de courts fichiers texte. Disons que nous voulions créer un fichier appelé « lazy_dog.txt » contenant le texte de notre exemple. On ferait ça :



[moi@linuxbox ~]$ chat > ​​lazy_dog.txt

Le rapide renard brun sauta par dessus le chien paresseux.

[moi@linuxbox ~]$ chat > ​​lazy_dog.txt

Le rapide renard brun sauta par dessus le chien paresseux.


Tapez la commande suivie du texte que nous voulons placer dans le fichier. N'oubliez pas de taper Ctrl-d à la fin. En utilisant la ligne de commande, nous avons implémenté le traitement de texte le plus stupide au monde ! Pour voir nos résultats, nous pouvons utiliser cat pour copier à nouveau le fichier sur stdout :


[moi@linuxbox ~]$ chat lazy_dog.txt

Le rapide renard brun sauta par dessus le chien paresseux.

[moi@linuxbox ~]$ chat lazy_dog.txt

Le rapide renard brun sauta par dessus le chien paresseux.


Maintenant que nous savons comment cat accepte l'entrée standard, en plus des arguments de nom de fichier, essayons de rediriger l'entrée standard :



[moi@linuxbox ~]$ chat < lazy_dog.txt

Le rapide renard brun sauta par dessus le chien paresseux.

[moi@linuxbox ~]$ chat < lazy_dog.txt

Le rapide renard brun sauta par dessus le chien paresseux.


À l'aide de l'opérateur de redirection « < », nous changeons la source d'entrée standard du clavier vers le fichier paresseux_dog.txt. Nous voyons que le résultat est le même que le passage d'un seul argument de nom de fichier. Ce n'est pas particulièrement utile par rapport au passage d'un argument de nom de fichier, mais cela sert à démontrer l'utilisation d'un fichier comme source d'entrée standard. D'autres commandes font un meilleur usage de l'entrée standard, comme nous le verrons bientôt.


Avant de continuer, consultez la page de manuel pour cat, car il a plusieurs options intéressantes.


Meilleur système d'exploitation Cloud Computing chez OnWorks :