La commande Linux head lit et imprime les N premières lignes sur la sortie standard. Par défaut, il imprime les dix premières lignes d'un fichier sur la sortie standard. Cependant, cela peut être modifié en passant des arguments supplémentaires sur la ligne de commande. La commande "head" est l'opposé de la commande tail qui imprime les N dernières lignes d'un fichier donné. Dans ce guide, nous nous concentrons sur la commande Linux head et présentons quelques cas d'utilisation de la commande.
Syntaxe :
La commande principale prend la syntaxe suivante :
$ head [options] fichier(s)
1) Afficher les dix premières lignes d'un fichier
Comme indiqué dans l'introduction, la commande head (sans aucun argument) affiche les dix premières lignes d'un fichier. Dans l'exemple ci-dessous, nous avons un exemple de fichier texte - asian_countries.txt - qui contient une liste de pays du continent asiatique.
Pour lister les 10 premiers pays du fichier, exécutez la commande :
$ head asian_countries.txt
2) Afficher la balise de nom de fichier
À l'aide de l'indicateur -v, vous pouvez afficher la balise du nom de fichier avant d'imprimer les lignes du fichier comme suit :
$ head -v asian_countries.txt
3) Afficher la sortie de plusieurs fichiers
De plus, vous pouvez transmettre plusieurs fichiers dans une seule commande, comme indiqué ci-dessous. Cette fois, le nom de chaque fichier texte est imprimé en premier avant les lignes avec la sortie du premier fichier précédant le fichier suivant.
Dans l'exemple ci-dessous, nous avons 2 fichiers texte :asian_countries.txt et europe_countries.txt. La sortie du fichier asian_countries.txt est d'abord imprimée, suivie du fichier europe_countries.txt. Remarquez qu'il y a une balise de nom de fichier qui précède les lignes.
$ head asian_countries.txt europe_countries.txt
La commande au-dessus de la tête affichera les dix premières lignes de chaque fichier.
4) Afficher le premier nombre N de lignes
Vous pouvez définir les lignes que vous souhaitez afficher en utilisant le drapeau -n suivi du nombre de lignes que vous souhaitez imprimer. Par exemple, pour imprimer les 5 premières lignes, exécutez la commande :
$ head -n 5 asian_countries.txt
5) Rediriger la sortie vers un fichier texte
Au lieu d'imprimer sur la sortie standard, vous pouvez enregistrer la sortie de la commande head dans un fichier texte ou un fichier journal à l'aide de l'opérateur de redirection (>). Si le fichier n'existe pas, il est créé et la sortie est stockée. Notez que cela écrase tout dans le fichier.
La commande ci-dessous enregistre la sortie des 4 premières lignes du fichier texte asian_countries dans le fichier output.txt
$ head -n 4 asian_countries.txt > output.txt
Pour éviter que le fichier ne soit écrasé, utilisez l'opérateur double supérieur à (>>) pour ajouter la sortie au fichier.
Dans la commande ci-dessous, nous ajoutons la sortie des 4 premières lignes du fichier texte europe_countries au fichier output.txt sans l'écraser.
$ head -n 4 europe_countries.txt >> output.txt
À l'aide de la commande cat, observez comment le fichier contient la sortie des pays d'Asie ainsi que ceux d'Europe.
6) Utilisez la commande head avec des pipes
Vous pouvez diriger les commandes vers la tête pour imprimer un nombre N de lignes. Par exemple, vous pouvez imprimer les 15 premières entrées du répertoire /etc comme indiqué.
$ ls /etc | head -n 15
Vous pouvez également rediriger la sortie de la commande head vers d'autres commandes telles que la commande sort pour un meilleur formatage.
$ head -n 5 asian_countries.txt | sort > output2.txt
7) Vérifiez la version de la commande head
Pour vérifier la version de la commande head, appelez la commande ci-dessous.
$ head --version
8) Obtenez des options supplémentaires
Pour obtenir de l'aide sur l'utilisation de la commande, visitez les pages de manuel comme indiqué.
$ man head
Merci d'être venu jusqu'ici. Nous espérons que ce tutoriel éclairera et éliminera toute confusion sur l'utilisation de la commande Linux head.
Lire aussi :9 exemples de commandes tee sous Linux