Comment utiliser les commandes « cat » et « tac » avec des exemples sous Linux
Cet article fait partie de notre série de trucs et astuces Linux. Dans cet article, nous aborderons une utilisation de base de la commande cat (commande la plus fréquemment utilisée sous Linux) et tac ( commande inverse de cat – imprimer les fichiers dans l’ordre inverse) avec quelques exemples pratiques.
Lire aussi : 13 exemples de commandes 'cat' utiles sous Linux
Utilisation de base de la commande Cat sous Linux
La commande Cat, acronyme de Concatenate, est l'une des commandes les plus utilisées dans les systèmes *nix. L'utilisation la plus basique de la commande est de lire des fichiers et de les afficher sur stdout, c'est-à-dire d'afficher le contenu des fichiers sur votre terminal.
cat file.txt
Une autre utilisation de la commande cat consiste à lire ou à combiner plusieurs fichiers ensemble et à envoyer la sortie à un moniteur, comme illustré dans les exemples ci-dessous.
cat file1.txt file2.txt file3.txt
La commande peut également être utilisée pour concaténer (joindre) plusieurs fichiers en un seul fichier à l'aide de l'opérateur de redirection Linux «>»
.
cat file1.txt file2.txt file3.txt > file-all.txt
En utilisant le redirecteur d'ajout, vous pouvez ajouter le contenu d'un nouveau fichier au bas du file-all.txt
avec la syntaxe suivante.
cat file4.txt >> file-all.txt
La commande cat peut être utilisée pour copier le contenu d'un fichier dans un nouveau fichier. Le nouveau fichier peut être renommé arbitrairement. Par exemple, copiez le fichier de l'emplacement actuel vers le répertoire /tmp/
.
cat file1.txt > /tmp/file1.txt
Copiez le fichier de l'emplacement actuel dans le répertoire /tmp/
et modifiez son nom.
cat file1.txt > /tmp/newfile.cfg
Une utilisation moindre de la commande cat consiste à créer un nouveau fichier avec la syntaxe ci-dessous. Une fois l'édition du fichier terminée, appuyez sur CTRL+D
pour enregistrer et quitter le nouveau fichier.
cat > new_file.txt
Afin de numéroter toutes les lignes de sortie d'un fichier, y compris les lignes vides, utilisez le commutateur -n
.
cat -n file-all.txt
Pour afficher uniquement le numéro de chaque ligne non vide, utilisez le commutateur -b
.
cat -b file-all.txt
Vous voulez en savoir plus sur la commande Linux cat ? puis lisez notre article sur 13 exemples de commandes « cat » utiles sous Linux.
Apprenez à utiliser la commande Tac sous Linux
D'un autre côté, une commande moins connue et moins utilisée dans les systèmes *nix est la commande tac
. Tac est pratiquement la version inversée de la commande cat
(également orthographiée à l'envers) qui imprime chaque ligne d'un fichier en commençant par la ligne du bas et en terminant par la ligne du haut selon le standard de votre machine. sortir.
tac file-all.txt
L'une des options les plus importantes de la commande est représentée par le commutateur -s
, qui sépare le contenu du fichier en fonction d'une chaîne ou d'un mot-clé du fichier.
tac file-all.txt --separator "two"
Ensuite, l'utilisation la plus importante de la commande tac est qu'elle peut fournir une aide précieuse pour déboguer les fichiers journaux, en inversant l'ordre chronologique du contenu des journaux.
tac /var/log/auth.log
Or to display the last lines
tail /var/log/auth.log | tac
Exemple de sortie
tecmint@tecmint ~ $ tac /var/log/auth.log
pr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr 6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...
Identique à la commande cat
, tac
fait un excellent travail dans la manipulation des fichiers texte, mais elle doit être évitée dans d'autres types de fichiers, en particulier les fichiers binaires ou les fichiers dont la première ligne désigne le programme qui l'exécutera.