GNU/Linux >> Tutoriels Linux >  >> Linux

10 exemples de commandes Cat pour gérer des fichiers sous Linux / UNIX

La commande Cat est l'une des commandes de base que vous avez apprises lorsque vous avez commencé dans le monde Unix/Linux.

Vous savez déjà que cat affiche le contenu d'un fichier. Que pourrait faire de plus cette commande ?

Ce tutoriel donne 10 exemples pratiques d'utilisation de la commande cat. Probablement peu de ces exemples pourraient être nouveaux pour vous. Ou, cela pourrait simplement être un rappel pour vous, si vous connaissiez déjà ces exemples.

1. Afficher le contenu d'un fichier

Lorsque vous passez le nom du fichier en argument à cat, il affiche le contenu du fichier comme indiqué ci-dessous.

$ cat program.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}

Vous pouvez également afficher le contenu de plusieurs fichiers, comme indiqué ci-dessous.

$ cat program.pl program2.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}
#!/usr/bin/perl

@arr = qw(1 2 3);
$ref = \@arr;
print ref $ref;

2. Créer un nouveau fichier

À l'aide de la commande cat, les lignes reçues de stdin peuvent être redirigées vers un nouveau fichier à l'aide de symboles de redirection.

Lorsque vous tapez simplement la commande cat sans aucun argument, il reçoit simplement le contenu stdin et l'affiche dans la stdout. Ainsi, après avoir tapé la ligne une fois, lorsque vous appuyez sur Entrée, la même ligne est imprimée dans la ligne suivante, comme indiqué ci-dessous.

$ cat
cat command for file oriented operations.
cat command for file oriented operations.
cp command for copy files or directories.
cp command for copy files or directories.

Vous pouvez également rediriger la sortie standard vers un nouveau fichier comme indiqué ci-dessous.

$ cat >cmd_usage.txt
cat command for file oriented operations.
cp command for copy files or directories.

$ cat cmd_usage.txt
cat command for file oriented operations.
cp command for copy files or directories.

Parfois, vous devrez peut-être ajouter le contenu à un fichier, utilisez>> le symbole de redirection comme indiqué ci-dessous.

$ cat >>cmd_usage.txt
ls command to list out file and directory with its attributes.

$ cat cmd_usage.txt
cat command for file oriented operations.
cp command for copy files or directories.
ls command to list out file and directory with its attributes.

3. Copier le contenu du fichier

Les symboles de redirection sous Unix jouent un rôle important dans le traitement du contenu du descripteur de fichier standard. En l'utilisant, vous pouvez copier le contenu d'un fichier dans un autre comme indiqué ci-dessous.

$ cat program.pl >backup_prgm.pl

Comme vu ci-dessus, puisque nous avons utilisé la redirection de sortie, le contenu affiché dans la sortie standard est dirigé vers un nouveau fichier appelé backup_pgrm.pl. Afficher le contenu de backup_pgrm.pl :

$ cat backup_pgrm.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}

4. Concaténer le contenu de plusieurs fichiers

Grâce à la commande cat, vous pourrez concaténer le contenu de plusieurs fichiers dans un nouveau fichier.

Par exemple, les codes de program.pl et program2.pl sont combinés dans un nouveau fichier all_pgrm.pl.

$ cat program.pl program2.pl >all_pgrm.pl

Comme vu ci-dessus, stdout est redirigé et le nouveau fichier a été créé avec le contenu de program.pl et program2.pl. Vérifiez le contenu de all_pgrm.pl :

$ cat all_pgrm.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}
#!/usr/bin/perl

@arr = qw(1 2 3);
$ref = \@arr;
print ref $ref;

5. Afficher les numéros de ligne

Pour afficher le contenu d'un fichier avec le numéro de ligne devant chaque ligne, utilisez l'option -n. L'exemple suivant imprime le numéro de ligne pour les lignes de program.pl,

$ cat -n program.pl
1 #!/usr/bin/perl
2
3 
4 if( 2 ge 3) {
5 print "greater\n";
6 } else {
7 print "lesser\n";
8 }
9
10

Comme vous l'avez remarqué ci-dessus, même les lignes vides sont numérotées. En cas de numérotation uniquement des lignes non vides, utilisez l'option -b comme suit,

$ cat -b program.pl
1 #!/usr/bin/perl

2     
3 if( 2 ge 3) {
4 print "greater\n";
5 } else {
6 print "lesser\n";
7 }

Notez que les lignes qui contiennent des espaces blancs ne sont pas considérées comme des lignes vides et il en va de même pour la ligne numérotée 2.

6. Concaténer le contenu du fichier avec l'entrée de Stdin

Il est possible de lire les lignes de stdin avec la concaténation d'autres fichiers. Par conséquent, l'utilisateur peut saisir son propre contenu chaque fois que cela est nécessaire.

Dans l'exemple suivant, vous pouvez insérer quelques lignes (à partir de stdin) au début tout en combinant des fichiers ensemble.

$ cat - program.pl program2.pl >all_pgrm.pl
Contents from file : program.pl, program2.pl

Comme vu ci-dessus, - est l'endroit où vous pouvez lire à partir de stdin, en conséquence 1 ligne de stdin a été insérée au début d'un nouveau fichier appelé all_pgrm.pl avec le dernier contenu des fichiers program.pl et program2.pl :

$ cat -n all_pgrm.pl
1 Contents from file : program.pl, program2.pl
2 #!/usr/bin/perl
3
4
5 if( 2 ge 3) {
6 print "greater\n";
7 } else {
8 print "lesser\n";
9 }
10
11
12 #!/usr/bin/perl
13
14 @arr = qw(1 2 3);
15 $ref = \@arr;
16 print ref $ref;

7. Ne pas afficher les lignes de sortie vides répétées

Parfois, le fichier contient des lignes vides répétées que vous ne souhaitez pas afficher dans le stdout tout en le répertoriant. La commande cat fournit une option appelée -s qui supprimera les lignes de sortie vides consécutives en une seule et s'affichera.

Comme remarqué dans le premier exemple d'utilisation 5 (c'est-à-dire:Afficher avec le numéro de ligne devant chaque ligne), il y a deux lignes de sortie vides consécutives dans le fichier program.pl numérotées 9 et 10. Peut-être que vous ne voulez pas afficher ces lignes de sortie vides répétées. Cela peut être supprimé comme indiqué ci-dessous :

# cat -sn program.pl
1 #!/usr/bin/perl
2
3 
4 if( 2 ge 3) {
5 print "greater\n";
6 } else {
7 print "lesser\n";
8 }
9

Respectivement, les lignes 9 et 10 sont supprimées dans une ligne vide dans la sortie ci-dessus (c'est-à-dire la ligne 9).

8. Afficher les caractères de fin de ligne et de tabulation

Vous pouvez faire en sorte que le chat affiche le caractère $ à la fin de chaque ligne. Normalement, en listant le contenu du fichier, les utilisateurs ne peuvent pas identifier les espaces à la fin de chaque ligne, en utilisant l'option cat -e.

Par exemple, utilisez l'option -e sur le fichier program.pl. Comme indiqué ci-dessous, la troisième ligne de ce fichier (c'est-à-dire program.pl) n'est en fait pas une ligne vide et la ligne 7 se termine respectivement par des espaces blancs.

$ cat -ne program.pl
1 #!/usr/bin/perl$
2 $
3     $
4 if( 2 ge 3) {$
5 print "greater\n";$
6 } else {$
7 print "lesser\n";      $
8 }$
9 $
10 $

Utilisez l'option -T pour afficher les caractères de tabulation. Il affiche ^I pour le caractère TAB. Comme indiqué ci-dessous, line5 et line7 commencent par un caractère TAB.

$ cat -neT program.pl
1 #!/usr/bin/perl$
2 $
3     $
4 if( 2 ge 3) {$
5 ^Iprint "greater\n";$
6 } else {$
7 ^Iprint "lesser\n";      $
8 }$
9 $
10 $

9. Lire le contenu jusqu'à un modèle spécifique

Le document here peut être utilisé avec la commande cat. Par exemple, lorsque vous lisez à partir de stdin, vous pouvez lire jusqu'à une ligne contenant un modèle spécifique. Dans l'exemple ci-dessous, le bloc de lignes est lu depuis stdin (jusqu'à EOF) et imprimé sur la sortie standard.

$ cat <<EOF
> mv command to move files and directories
> top command to display linux tasks
> EOF
mv command to move files and directories
top command to display linux tasks

10. Afficher le contenu du fichier à l'envers

Cet exemple est un tricheur. Ce n'est vraiment pas un exemple de commande cat, mais c'est lié.

tac est l'inverse de chat. Comme vous pouvez l'imaginer, tac affichera simplement le contenu d'un fichier dans l'ordre inverse (les lignes du bas sont affichées en premier). Si vous souhaitez simplement inverser les caractères de la ligne, vous devez utiliser la commande rev.

Par exemple, le fichier program.pl est affiché à l'envers comme :

$ tac program.pl 

}
	print "lesser\n";           
} else {
	print "greater\n";
if( 2 ge 3) {

#!/usr/bin/perl

Linux
  1. Exemples importants de commandes Cat sous Linux

  2. 5 Exemples de commandes Wget pour télécharger des fichiers sous Linux.

  3. 7 exemples de commandes de patch pour appliquer des fichiers de patch Diff sous Linux

  4. ln Exemples de commandes sous Linux

  5. file Exemples de commandes sous Linux

Commande lsof sous Linux (10 exemples)

Commande Touch sous Linux (5 exemples)

Utilisation de la commande Cat sous Linux avec des exemples

Commande Cat sous Linux :Exemples essentiels et avancés

Commande ls sous Linux/UNIX

Exemples de commande Linux cat