Les systèmes Unix et Linux offrent plusieurs outils puissants pour gérer et manipuler des fichiers texte. Parmi ces opérations, l’affichage de lignes spécifiques d’un fichier est une tâche courante que les utilisateurs peuvent souhaiter réaliser. Ce guide présente des méthodes pratiques pour afficher une ligne précise ou une plage de lignes dans un fichier à l’aide de la ligne de commande.
Utiliser les commandes head
et tail
Les commandes head
et tail
permettent d’accéder facilement aux premières ou dernières lignes d’un fichier. Voici comment les utiliser :
- Afficher les premières lignes : Pour voir les dix premières lignes d’un fichier nommé
document.txt
, utilisez : - Afficher une plage de lignes : Pour récupérer les cinq premières lignes spécifiquement, tapez :
- Afficher les dernières lignes : Pour les cinq dernières lignes, utilisez :
- Combinaison pour afficher une ligne précise : Pour afficher la ligne 26, vous pouvez combiner
head
ettail
comme suit :
head document.txt
head -n 5 document.txt
tail -n 5 document.txt
head -n 26 document.txt | tail -n 1
Utiliser sed
pour extraire des lignes spécifiques
sed
(stream editor) est un éditeur de texte sophistiqué qui peut être utilisé pour afficher des lignes précises. Voici quelques exemples d’utilisation :
- Afficher une ligne unique : Pour afficher la ligne 5 d’un fichier, exécutez :
- Afficher une plage de lignes : Pour extraire les lignes 10 à 15, utilisez :
- Utilisation de motifs : Pour afficher les lignes comprenant un certain mot, par exemple
exemple
, exécutez :
sed -n '5p' document.txt
sed -n '10,15p' document.txt
sed -n '/exemple/p' document.txt
Afficher des lignes spécifiques avec awk
awk
est un autre outil puissant pour le traitement de texte, qui peut filtrer et afficher des lignes selon des critères précis :
- Afficher la nième ligne : Pour obtenir uniquement la troisième ligne d’un fichier, utilisez :
- Afficher une plage de lignes : Pour afficher les lignes 5 à 10, exécutez :
- Basé sur une condition : Pour afficher les lignes dont la première colonne est supérieure à 100 :
awk 'NR==3' document.txt
awk 'NR>=5 && NR<=10' document.txt
awk '$1 > 100' document.txt
Comment afficher une ligne spécifique sous Unix ?
Pour afficher une ligne précise dans un fichier sous Unix, plusieurs méthodes peuvent être employées. Les commandes head
et tail
sont parfaites pour des extraits rapides. Pour un ciblage exact, sed
et awk
offrent des options avancées invitant à l'utilisation de motifs et de conditions. Utilisez sed
si vous souhaitez effectuer des substitutions ou des transformations, de sorte que cela complète le simple affichage. Maîtriser ces techniques est essentiel pour une manipulation efficace des fichiers texte.
D'autres méthodes pour ouvrir un fichier en ligne de commande
Outre l'affichage de lignes spécifiques, il existe plusieurs manières d'ouvrir des fichiers depuis le terminal :
- Commande
cat
: Affiche tout le contenu d'un fichier. - Commande
less
: Permet de naviguer dans le contenu de manière plus interactive. - Commande
more
: Similaire àless
, mais avec moins de fonctionnalités.
cat document.txt
less document.txt
more document.txt
FAQ
- Quelle commande utilise-t-on pour rechercher un motif spécifique dans un fichier ?
La commande
grep
est utilisée pour rechercher des motifs dans un fichier. Par exemple,grep 'champ' document.txt
affichera toutes les lignes contenant le mot "champ". - Comment puis-je afficher les numéros de ligne lors de l'affichage d'un fichier ?
Avec
nl
, vous pouvez afficher le fichier avec les numéros de ligne inclus. Par exemple :nl document.txt
. - Qu'est-ce que la commande
tail -f
?La commande
tail -f
permet de suivre un fichier en temps réel. Elle est souvent utilisée pour surveiller des fichiers journaux pour voir des ajouts en direct.