chat: ce n'est pas un chat, c'est un concaténateur

Minou

Eh bien, le programme chat c'est probablement l'un des plus utilisés dans un shell Linux. C'est très basique, mais aussi très pratique. Parfois, les outils les plus simples et les plus basiques sont aussi les plus puissants en termes d'utilité. Son nom vient de conCATenate, d'où le titre que j'ai décidé de donner à cet article où je vais essayer de l'expliquer pour ceux qui ne le connaissent pas encore.

Fondamentalement, le concaténateur va au-delà de ce que son nom suggère, non seulement concatène, il peut aussi afficher le contenu d'un fichier texte, et combiné avec des tuyaux, il peut être encore plus puissant et servir de multiples utilisations. Et je vais résumer tous ces utilitaires de base dans cet article avec des exemples pratiques, afin que vous puissiez le voir de manière plus intuitive ...

Pour afficher simplement le contenu d'un fichier, vous pouvez utiliser la commande suivante:

cat nombre_archivo

cat /etc/passwd

Cela va vous montrer à l'écran. Dans le cas d'un fichier crypté ou d'un binaire, vous verrez alors qu'il vous montre des caractères ou des symboles étranges sans grande signification pour vous.

Vous pouvez même afficher le contenu de plusieurs fichiers concaténés dans la sortie, d'où son nom:

cat nombre_archivo

cat /etc/passwd /etc/passwd- /etc/hosts

Une autre possibilité alternative de toucher est utiliser cat pour créer un fichier:

cat > ejemplo.txt

Cela ouvre de manière interactive une sorte d'éditeur dans lequel vous pouvez entrer tout le texte que vous voulez que le fichier que vous avez créé ait, ou le laisser vide. Lorsque vous avez terminé d'entrer ce dont vous avez besoin, appuyez simplement sur Ctrl + D pour sortir.

Dans le cas où le contenu d'un fichier peut être long et vous préférez faciliter sa navigation et sa lecture, vous pouvez en utiliser de moins en plus:

cat manual.txt | more
cat manual.txt | less

Cela rendra la navigation dans le texte affiché beaucoup plus facile. Au fait, pour quitter appuyer sur Q comme vous le feriez avec un homme, etc.

Très intéressant pour les développeurs ets afficher le numéro de ligne. Si vous voulez que cat numérote les lignes du contenu d'un fichier, utilisez l'option n. Cela ne modifiera pas le contenu du fichier, il affichera uniquement les nombres dans la sortie:

cat -n codigo.c 

Soit dit en passant, si vous souhaitez enregistrer le texte numéroté comme il est affiché à l'écran, vous pouvez le faire en utilisant des redirections. Par exemple:

Pour afficher simplement le contenu d'un fichier, vous pouvez utiliser la commande suivante:

cat -n codico.c > numerado.txt

Rappelez-vous qu'avec> ce que vous faites est smettre en place le contenu de numbered.txt dans ce cas. Autrement dit, s'il n'existait pas, il est créé avec le contenu, mais s'il existait déjà, ce qu'il y avait auparavant sera supprimé et le nouveau contenu sera enregistré. Pour que ce qui précède ne soit pas supprimé et que le contenu soit ajouté à la fin, utilisez >> au lieu de>.

L'inconvénient de l'option -n est qu'elle numérote toutes les lignes. Mais si tu veux éviter que ceux qui sont vides ne soient numérotés, vous pouvez utiliser -b:

cat -b /etc/hosts

Bien sûr, avec toutes les options, vous pouvez utiliser des tuyaux et des redirections vers le contenu de l'entonnoir, etc. Et je vous conseille de lire l'homme chat pour en savoir plus. Il existe des options comme -e pour remplacer EoL (End of Line) par $, -T pour les tabulations, -s pour supprimer les lignes répétitives vides, etc.

Jusqu'à présent, les caractères visibles étaient simplement affichés, mais il y en a aussi beaucoup d'autres invisibles qui ne sont pas visibles. Pour les montrer, utilisez le drapeau v:

cat -v demo.odt

Vous pouvez l'utiliser pour supprimer le contenu des fichiers et les laisser vides. Pour cela, vous pouvez utiliser le périphérique spécial / dev / null comme ceci:

cat /dev/null | demo.txt

Dans ce cas, le contenu de / dev / null il est nul et cela le redirige via le pipeline vers le fichier texte demo.txt. Autrement dit, demo.txt est rempli de contenu nul, ou en d'autres termes, il est supprimé.

Vous pouvez également utiliser cet autre pour pouvoir entrer des séquences jusqu'à ce que vous tapiez EOL et il se ferme, c'est-à-dire qu'il s'ouvre comme une sorte d'éditeur dans lequel vous pouvez écrire ce que vous voulez. Evidemment, juste comme ça, c'est inutile, mais par exemple, vous pouvez tout écrire et le sauvegarder dans un fichier:

cat << EOL > hola

Fondamentalement, << indique au shell que vous allez entrer des chaînes jusqu'à ce que vous entriez une étiquette, qui dans ce cas est EOL, qui indiquera que vous avez atteint la fin. Vous pouvez remplacer EOL par STOP, ou ce que vous voulez.

Et si vous travaillez avec des systèmes hétérogènes, vous avez peut-être remarqué que les fichiers texte du monde DLe système d'exploitation / Windows utilise d'autres caractères de fin de ligne que UNIX / Linux, de sorte que le texte peut être mal aligné lorsque vous essayez d'afficher le fichier sur l'un ou l'autre système. Dans * nix LF est utilisé pour terminer la ligne, tandis que dans DOS / Windows CR / LF est utilisé. Pour résoudre ce problème, vous disposez de deux outils dos2unix pour convertir DOS / Windows en Unix et unix2dos pour l'inverse. Mais si vous ne voulez pas les installer, vous pouvez utiliser cat pour cela comme ceci:

cat dos.txt | sed "s/^M\{1,\}$//" | sed "$ s/^Z//" > archivo_convertido.txt

cat unix.txt | sed "s/$/^M/" | sed "$ s/$/^Z/" > archivo_convertido.txt

Comme tu peux le voir, les profits du chat sont nombreux. Malgré sa simplicité, il vous permet de faire une multitude de choses. De plus, tout ce que vous avez vu ici n'est pas la seule chose. Vous pouvez imaginer de nombreux autres utilitaires et nouveautés pour lesquels il pourrait vous servir. N'oubliez pas de lire plus dans le manuel:

man cat


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.