GNU/Linux >> Tutoriels Linux >  >> Linux

Outils d'administration système :afficher du texte sous Linux avec queue et tête

Il existe de nombreuses commandes pour afficher le contenu des fichiers sous Linux. Parmi ceux-ci, la tail et head Les commandes impriment respectivement la sortie des 10 dernières et des 10 premières lignes d'un fichier. Dans certains cas, la sortie ou l'erreur de votre travail ou script soumis crée un très gros fichier et le résultat le plus récent s'imprime à la fin du fichier. Vous pouvez utiliser tail , au lieu du cat commande, pour afficher uniquement les dernières lignes du fichier. Parfois, vous avez besoin de plusieurs options avec le tail commande pour afficher correctement le contenu du fichier. Ci-dessous, je vais démontrer l'utilisation de tail et head commandes.

Le synopsis des deux commandes est le suivant :

tail [OPTION]... [FILE]...
head [OPTION]... [FILE]...

J'ai également créé deux fichiers de salutations dans différentes langues avec des numéros de ligne. Chaque fichier contient un total de 15 lignes. Voyons le contenu des fichiers avec un simple cat commande :

root@jaibhim:~# cat greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# cat greetings2.txt
1 Good Morning
2 Good Morning
3 Good Morning
4 Good Morning
5 Good Morning
6 Good Morning
7 Good Morning
8 Good Morning
9 Good Morning
10 Good Morning
11 Good Morning
12 Good Morning
13 Good Morning
14 Good Morning
15 Good Morning

Maintenant, je vais utiliser à la fois la tail et head commandes sans aucune option pour afficher le greetings1.txt dossier. La tail me donne une sortie des dix dernières lignes, alors que le head me donne les dix premières lignes.

root@jaibhim:~# tail greetings1.txt
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# head greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim

Dans l'exemple ci-dessus, vous pouvez voir que les deux commandes impriment les premières et les dix dernières lignes du fichier.

Vous pouvez configurer le nombre de lignes affichées pour les deux commandes avec l'option -n .

root@jaibhim:~# tail -n 3 greetings1.txt
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim    

root@jaibhim:~# head -n 3 greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim

Les deux commandes peuvent également être utilisées pour plusieurs fichiers. Je donne le nom des deux fichiers avec un espace entre eux, et il imprime la sortie. Dans l'exemple ci-dessous, j'ai utilisé l'option -n pour limiter la sortie. Si je saute le -n option, les commandes impriment les dix lignes par défaut de chaque fichier. Comme indiqué ci-dessous, j'ai utilisé plus d'un fichier comme argument, et les deux commandes impriment un en-tête d'une ligne avant la sortie de chaque fichier :

root@jaibhim:~# tail -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
==> greetings2.txt <==
13 Good Morning
14 Good Morning
15 Good Morning
root@jaibhim:~# head -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
==> greetings2.txt <==
1 Good Morning
2 Good Morning
3 Good Morning

L'option la plus importante pour la tail la commande est -f . Dans certains cas, lorsque les utilisateurs exécutent une tâche ou un script, cela crée des fichiers journaux ou d'erreurs. Je dois suivre le fichier journal pour déterminer si le script respectif fonctionne correctement ou non. Pour le moment, j'ai besoin d'utiliser l'option -f avec la tail commande, qui imprime la sortie des nouvelles lignes créées par le script. Un autre exemple où vous pouvez utiliser l'option -f avec la tail la commande est /var/log/messages fichier.

Voici un script simple, qui s'exécute en arrière-plan et ajoute des mots simples à chaque ligne avec un délai d'une seconde :

for i in {16..100}; do echo “$i  JaiBhim” >> greetings1.txt; sleep 1; done &

Remarque :J'ai utilisé & à la fin de la commande pour que le script s'exécute en arrière-plan.

Maintenant, sur le même terminal, utilisez le tail commande avec l'option -f et le nom du fichier comme argument. Vous pouvez voir que la nouvelle ligne est ajoutée dans le même fichier :

tail -f greetings1.txt

Conclusion

Comme vous pouvez le voir, à la fois la tail et la head Les commandes sont très utiles pour contrôler exactement le contenu du fichier qui s'affichera à l'écran. Essayez-les !

[ Voulez-vous essayer Red Hat Enterprise Linux ? Télécharge le maintenant gratuitement. ]


Linux
  1. Commandes tête et queue sous Linux expliquées avec des exemples

  2. Comment analyser et joliment imprimer JSON avec les outils de ligne de commande Linux

  3. Rechercher un fichier avec les commandes Rechercher et Localiser sous Linux

  4. Variables d'environnement utilisateur avec "su" et "sudo" sous Linux

  5. unix - début ET fin du fichier

Gestion des processus sous Linux avec kill et killall

10 commandes Linux Tail rapides avec des exemples

Commande Linux Tail :qu'est-ce que c'est et comment l'utiliser

Apprendre LVM sur Linux avec des outils graphiques

Commande Linux Tail avec exemples

Outils sysadmin :exa, une alternative moderne à ls sous Linux