Compteur de lignes

Collez du texte, du code source, un fichier journal ou un CSV et le compteur renvoie le nombre total de lignes, de lignes non vides, de lignes vides, de lignes uniques et de lignes dupliquées. Pratique lorsque un recruteur demande “combien de LOC dans ce dépôt ?”, lorsque vous devez savoir combien de lignes un CSV contient sans l’ouvrir dans Excel, ou lorsque vous voulez vérifier une liste de mots pour des doublons avant de l’alimenter dans un script.

Comment compter les lignes

  1. 1

    Collez le contenu

    Jusqu'à quelques mégaoctets de texte, journal, fichier source, markdown, liste.

  2. 2

    Lisez le décompte

    Les comptes totaux, non vides, vides, uniques et dupliqués s'affichent en même temps.

  3. 3

    Décidez ce qui compte

    Commentaires, nouvelles lignes finales, vides entre les sections, votre cas d'utilisation décide.

  4. 4

    Agissez sur le décompte

    Dimensionnez l'importation, dédupliquez, réduisez ou signalez le nombre comme preuve.

Ce qui compte réellement comme une ligne

Différents outils donnent différents “comptes de lignes” pour le même fichier car ils font des choix différents sur trois points.

Les trois ambiguïtés

  1. Nouvelle ligne finale. Les fichiers texte POSIX se terminent par \n. La dernière nouvelle ligne ajoute-t-elle une ligne vide supplémentaire ? wc -l compte les nouvelles lignes, donc un fichier avec du contenu sur une ligne plus une nouvelle ligne finale rapporte 1 ; un fichier avec du contenu et sans nouvelle ligne finale rapporte 0 (ce qui est surprenant). Ce compteur rapporte “lignes de contenu”, ignorant la dernière ligne vide après un terminateur.

  2. Vide vs uniquement des espaces. Une ligne avec des espaces ou des tabulations mais sans caractère visible, est-elle vide ou non ? Le compteur considère les lignes uniquement en espaces comme vides, correspondant à la plupart des éditeurs.

  3. Fichiers à une ligne. Un fichier d’une ligne sans nouvelle ligne finale est toujours 1 ligne.

Sorties du compteur expliquées

Métrique Définition
Lignes totales Toutes les lignes, y compris les vides, jusqu’à la dernière ligne non vide
Non vides Lignes avec au moins un caractère non espace
Vides Lignes qui sont vides ou uniquement des espaces
Uniques Lignes distinctes non vides, sensibles à la casse
Doublons Lignes non vides qui apparaissent plus d’une fois (nombre des doublons)

Cas d’utilisation courants

  • Dé-duplication de liste de mots, collez une liste de mots, voyez le nombre de doublons, puis passez par un dé-duplicateur.
  • Nombre de lignes CSV, collez le corps du fichier ; soustrayez 1 pour l’en-tête afin d’obtenir les lignes de données.
  • Analyse de journal, vérifiez qu’un journal tourné a le nombre d’entrées attendu.
  • LOC de fichier source, rapide “combien de lignes dans ce fichier” sans ouvrir un IDE.
  • Hygiène de liste d’emails, voyez combien d’adresses sont des doublons avant d’envoyer une campagne.

LOC n’est pas productivité

Le nombre de lignes de code source est une mesure brute. Un module dense et bien structuré de 100 lignes peut être plus difficile à écrire et à maintenir qu’un module éparpillé de 1 000 lignes. Utilisez les comptes de lignes pour des estimations de portée (s’insérant dans une fenêtre de contexte, paginant la sortie, comparant les tailles de fichiers) plutôt que pour l’évaluation de la performance.

Unicode et caractères de fin de ligne

Le compteur normalise \r\n, \r et \n en une seule nouvelle ligne avant de compter, donc les fins de ligne Windows, Mac classique et Unix produisent tous le même résultat. Les séparateurs de ligne Unicode (U+2028) et les séparateurs de paragraphes (U+2029) sont également traités comme des ruptures.

Questions fréquentes

wc -l compte les caractères de nouvelle ligne, donc un fichier avec du contenu et sans nouvelle ligne finale rapporte un de moins. Ce compteur rapporte “nombre de lignes de contenu”, ce qui correspond à la plupart des barres d’état des éditeurs.

Oui, les lignes contenant uniquement des espaces ou des tabulations comptent comme vides, pas non vides. Cela correspond à VS Code, Sublime et la plupart des flux de travail Git.

Oui. “Hello” et “hello” comptent comme des lignes uniques distinctes. Si vous souhaitez une dé-duplication insensible à la casse, mettez d’abord votre entrée en minuscules avec un convertisseur de casse.

Non, le compteur lit l’entrée localement et rien n’est téléchargé ou enregistré.

Outils similaires

Outil disponible dans d’autres langues