Il existe de nombreuses commandes et outils Linux utilisés pour traiter les fichiers texte. Mais il y a des moments où vous ne voulez pas lire tout le contenu d'un fichier, mais plutôt une partie spécifique de celui-ci. Savez-vous que vous pouvez utiliser les commandes head et tail sous Linux pour afficher respectivement le début et la fin d'un fichier ?

Lisez la suite pour découvrir comment vous pouvez utiliser ces deux commandes pour traiter et manipuler efficacement du texte sous Linux.

Qu'est-ce que la commande principale ?

La commande head est utilisée pour imprimer les parties initiales d'un fichier. Il lit les fichiers depuis le début. Si vous avez un fichier qui contient plus de mille lignes, il serait très fastidieux de l'ouvrir et de le lire. Vous pouvez facilement imprimer quelques lignes à partir du haut en utilisant la commande head.

La syntaxe de commande principale

La syntaxe de base de la commande head est :

diriger[option][déposer]

Il existe de nombreuses options disponibles à utiliser avec la commande head, dont certaines seront discutées plus tard. Pour

obtenir de l'aide sur la ligne de commande concernant la commande head, vérifiez sa page de manuel en exécutant :

tête d'homme

Comment utiliser la commande head

Pour cet exemple, créez un fichier: nombres.txt. Dans le fichier, listez les nombres de un à 20 en toutes lettres. Vous pouvez choisir d'utiliser n'importe quel fichier de votre choix, mais assurez-vous qu'il comporte au moins 11 lignes.

Utilisation de la commande head par défaut

Par défaut, la commande head imprime les 10 premières lignes de texte d'un fichier. Essayez-le avec le fichier numbers.txt en exécutant cette commande dans votre terminal :

dirigerNombres.SMS

Il imprimera les 10 premières lignes du fichier :

un
deux
trois
quatre
cinq
six
Sept
huit
neuf
dix

Si le fichier a moins de 10 lignes, la commande head imprimera toutes les lignes présentes.

Imprimer le premier nombre N de lignes

Vous pouvez utiliser la commande head pour imprimer un nombre spécifique de lignes au lieu de 10 par défaut. Pour imprimer les trois premières lignes du fichier numbers.txt, exécutez cette commande :

diriger-n 3 Nombres.SMS

Le résultat:

un
deux
trois

Exclure les N dernières lignes à l'aide de la commande head

Tout comme vous pouvez imprimer les premières lignes d'un texte, vous pouvez également décider d'exclure les N dernières lignes lors de l'impression. Vous pouvez le faire en utilisant un nombre négatif pour le paramètre N.

Pour exclure les 15 dernières lignes du fichier numbers.txt, exécutez :

diriger-n-15Nombres.SMS

Le résultat:

un
deux
trois
quatre
cinq

Imprimer les N premiers caractères d'un fichier

La commande head a également la possibilité d'imprimer le premier nombre de caractères ou d'octets dans un fichier. Vous pouvez le faire en utilisant le -c option. Pour imprimer les 10 premiers caractères, utilisez :

diriger-c 10 Nombres.SMS

Sortir:

un
deux
e

Qu'est-ce que la commande tail ?

Comme son nom l'indique, la commande tail imprime les dernières lignes d'un fichier. Il lit les fichiers à partir de la fin et affiche les lignes de fin.

La syntaxe de la commande tail

La syntaxe de base de la commande tail est :

queue[option][déposer]

Pour plus d'informations sur la commande tail, consultez sa page de manuel en lançant :

 queue d'homme

Comment utiliser la commande tail

Nous utiliserons le fichier numbers.txt déjà créé pour les exemples suivants.

Utilisation de la commande tail par défaut

La commande tail affiche les 10 dernières lignes d'un fichier lorsqu'elle est utilisée sans aucune option spéciale. Par exemple:

queueNombres.SMS

La sortie affichera les 10 dernières lignes comme mentionné :

onze
douze
treize
quatorze
quinze
seize
dix-sept
dix-huit
dix-neuf
vingt

Imprimer le dernier N nombre de lignes

Dans une situation où vous ne souhaitez pas imprimer les 10 dernières lignes, mais un nombre spécifique, vous pouvez utiliser le -n option pour y parvenir. Pour imprimer les quatre dernières lignes du fichier numbers.txt, exécutez cette commande :

queue-n 4 Nombres.SMS

Le résultat:

dix-sept
dix-huit
dix-neuf
vingt

Imprimer des lignes après une ligne spécifique

Si vous voulez commencer à partir d'une ligne particulière N, vous pouvez utiliser le -n option à côté d'un nombre positif pour y parvenir. Pour imprimer la sortie du fichier numbers.txt à partir de la 17e ligne, exécutez cette commande :

queue-n +17 Nombres.SMS

Le résultat:

dix-sept
dix-huit
dix-neuf
vingt

Imprimer les N derniers caractères d'un fichier

Tout comme la commande head, vous pouvez imprimer les derniers caractères du fichier en utilisant la commande -c option. Pour imprimer les 10 derniers caractères du fichier numbers.txt, exécutez cette commande :

queue-c 10 Nombres.SMS

Le résultat:

fr
vingt

Utilisation des commandes head et tail avec plusieurs fichiers

Vous pouvez également utiliser tête et queue pour imprimer plusieurs fichiers à la fois. Voici la syntaxe pour utiliser les commandes avec plusieurs entrées de fichier :

diriger[option][fichier1][fichier2]
queue[option][fichier1][fichier2]

Utilisation simultanée des commandes head et tail

Vous pouvez même utiliser la tête et la queue dans la même commande en utilisant le symbole du tuyau. Le symbole du tuyau redirige la sortie d'une commande comme entrée à une autre.

Par exemple, pour obtenir les sixième, septième et huitième lignes, vous pouvez exécuter cette commande :

tête -n 8 numéros.txt | queue -n 3

Le résultat:

six
Sept
huit

Dans le one-liner susmentionné, la commande head affichait les huit premières lignes du fichier, puis la sortie a été transmise à la commande tail, qui a imprimé les trois dernières lignes du redirigé sortir.

tête et queue: commandes de manipulation de texte utiles

Linux propose de nombreuses commandes pour vous aider à manipuler et à traiter efficacement les fichiers texte, et les commandes head et tail ne sont que deux parmi tant d'autres. Les commandes de manipulation de texte les plus courantes incluent grep, uniq, sort, sed, awk, etc. Chacun d'eux remplit un objectif différent avec son ensemble de fonctionnalités unique.

Outre la tête et la queue, il existe des tonnes d'autres commandes de manipulation de texte et de fichiers disponibles pour les utilisateurs de Linux.