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.