Sous Linux, vous pouvez effectuer une même tâche de plusieurs manières. De même, si vous souhaitez compter le nombre de lignes dans un ou plusieurs fichiers, vous pouvez utiliser différentes commandes. Dans cet article, je vais partager cinq manières différentes, dont celle que vous pouvez utiliser pour imprimer un nombre total de lignes dans un fichier volumineux.
[ Vous pourriez également aimer :Comment copier un grand nombre de fichiers sous Linux ]
1. Compter le nombre de lignes à l'aide de la commande wc
Comme wc signifie "nombre de mots ", c'est la commande la plus adaptée et la plus simple qui a pour seul but de compter les mots , caractères , ou lignes dans un fichier.
Supposons que vous vouliez compter le nombre de lignes dans un fichier texte appelé distros.txt .
$ cat distros
Vous pouvez utiliser "-l"
ou "--line"
option avec la commande wc comme suit :
$ wc -l distros.txt
Vous pouvez voir que wc compte également la ligne vierge et imprime le nombre de lignes avec le nom du fichier. Si vous souhaitez afficher uniquement le nombre total de lignes, vous pouvez également masquer le nom du fichier en redirigeant le contenu du fichier vers wc en utilisant un crochet à angle gauche (<)
au lieu de passer le fichier en paramètre.
$ wc -l < distros.txt
De plus, pour afficher plusieurs lignes de plusieurs fichiers en même temps, vous devez passer les noms de fichiers en arguments séparés par un espace.
$ wc --lines distros.txt distros.txt distros.txt
D'une autre manière, vous pouvez également utiliser la commande cat pour rediriger le contenu du fichier vers la commande wc en entrée via le tube ('|')
.
$ cat distros.txt | wc -l
Bien qu'il compte également le nombre de lignes dans un fichier, ici l'utilisation de cat semble redondant.
2. Compter le nombre de lignes à l'aide de la commande Awk
Mauvais est un utilitaire de ligne de commande très puissant pour le traitement de texte. Si vous connaissez déjà awk , vous pouvez l'utiliser à plusieurs fins, notamment pour compter le nombre de lignes dans les fichiers.
[ Vous pourriez également aimer :Comment supprimer des lignes vides dans des fichiers à l'aide de Grep, Sed et Awk ]
Cependant, le maîtriser peut prendre du temps si vous êtes à un niveau débutant. Par conséquent, si vous souhaitez simplement l'utiliser pour compter le nombre total de lignes dans un fichier, vous pouvez vous souvenir de la commande suivante :
$ awk 'END {print NR}' distros.txt
Ici, NR est le nombre d'enregistrements ou de numéros de lignes dans un fichier en cours de traitement à la END rubrique.
3. Compter le nombre de lignes à l'aide de la commande Sed
Sed est un outil également très utile pour filtrer et éditer du texte. Plus qu'un éditeur de flux de texte, vous pouvez également utiliser sed pour compter le nombre de lignes dans un fichier en utilisant la commande :
$ sed -n '$=' distros.txt
Ici, '='
imprime le numéro de la ligne courante sur la sortie standard. Donc, en le combinant avec le -n
option, il compte le nombre total de lignes dans un fichier passé en argument.
4. Compter le nombre de lignes à l'aide de la commande Grep
Utiliser encore une autre commande de recherche de modèle utile grep , vous pouvez obtenir le nombre total de lignes dans un fichier en utilisant '-e'
ou '--regexp'
et '-c'
ou '--count'
options.
$ grep -e "$" -c distros.txt Or $ grep -e "^" -c distros.txt
Ici, '$'
est une expression régulière représentant la fin d'une ligne et le '^'
début d'une ligne. Vous pouvez utiliser l'une ou l'autre des expressions régulières.
[ Vous pourriez également aimer :Comment trouver des fichiers contenant une chaîne de texte spécifique sous Linux ]
5. Compter le nombre de lignes à l'aide des commandes nl et cat
Au lieu d'obtenir directement le nombre total de lignes, vous pouvez également imprimer le contenu du fichier et obtenir le nombre total de lignes en regardant le dernier numéro de ligne. À cette fin, nl est une commande simple pour imprimer des données avec des lignes numérotées.
$ nl distros.txt
Pour les fichiers volumineux, cela ne semble pas être une méthode appropriée pour afficher toutes les données dans un terminal. Donc, ce que vous pouvez également faire est de rediriger les données vers la commande tail pour n'imprimer que certaines des dernières lignes numérotées.
$ nl distros.txt | tail -n2
De même, une commande cat avec '-n'
peut également être utilisé pour imprimer le contenu du fichier avec des numéros de ligne.
$ cat -n distros.txt | tail -n1
Conclusion
Après avoir appris cinq façons de compter un certain nombre de lignes, vous devez vous demander quelle est la meilleure façon pour vous ? À mon avis, que vous soyez un utilisateur débutant ou avancé de Linux, la commande wc est l'approche la plus simple et la plus rapide.
Cependant, si vous êtes en train d'apprendre d'autres outils puissants comme grep , maladroit , et sed , vous pouvez également pratiquer ces commandes à cette fin pour perfectionner vos compétences.