Compter le nombre de lignes vides dans un fichier
Dans count (non vide) des lignes de code dans bash ils expliquent comment compter le nombre de lignes non-vides.
Mais est-il un moyen de compter le nombre de lignes vides dans un fichier? Par ligne vide, j'entends aussi des lignes qui sont séparés par des espaces.
Vous devez vous connecter pour publier un commentaire.
Une autre façon est:
-P '\S'
(expression rationnelle perl) récupère toutes les lignes ne contient pas d'espace-v
sélectionnez la non-correspondance des lignes-c
imprimer un nombre de lignes correspondants àSi votre grep ne prend pas en charge
-P
option, veuillez utiliser-E '[^[:space:]]'
grep -cvE '[^[:space:]]'
grep -cvE '\S' file
grep -cvE '\S' file
etgrep -cv '\S' file
travail, aussi. S'ils sont plus rapide ou plus lent qu'avec-P
, dépend du matériel et grep version. E. g. avec grep version 2.25 avec Intel(R) Atom(TM) CPU N270 @ 1.60 GHz expression rationnelle perl est plus lent, et grep version 2.16 avec Intel(R) Core(TM)2 CPU 6400 @ 2.13 GHz expression rationnelle perl est plus rapide.grep -cx '\s*' file
est également assez rapide, en fonction du matériel et grep mise en œuvre. Voir ma réponse.Un chemin à l'aide
grep
:Ou avec un espace:
time
pour mesurer le temps d'exécution.Vous pouvez également utiliser
awk
pour cela:Du manuel, "La variable NF est définie pour le nombre total de champs dans l'enregistrement d'entrée". Depuis le séparateur de champ par défaut est l'espace, toute la ligne soit rien, ou de certains espaces ont
NF=0
.Ensuite, c'est une question de compter combien de fois cela arrive.
Test
Maintenant, nous allons' compter le nombre de lignes vides:
grep -cx '\s*' file
ou
grep -cx '[[:space:]]*' file
Qui est plus rapide que le code de Steve réponse.
À l'aide de Perl one-liner:
De compter combien de inutile lignes vides votre collègue a inséré dans un projet, vous pouvez lancer une ligne de commande comme ceci:
Cette affiche:
(Sur OSX, Perl expressions ne sont pas disponibles, l'option-P)