Contatore di righe

Incolla testo, codice sorgente, un file di log o un CSV e il contatore restituisce il totale delle righe, le righe non vuote, le righe vuote, le righe uniche e le righe duplicate. Utile quando un reclutatore chiede “quante LOC ci sono in questo repo?”, quando hai bisogno di sapere quante righe ha un CSV senza aprirlo in Excel, o quando vuoi controllare una lista di parole per duplicati prima di passarla a uno script.

Come contare le righe

  1. 1

    Incolla il contenuto

    Fino a pochi megabyte di testo, log, file sorgente, markdown, lista.

  2. 2

    Leggi il riepilogo

    Conteggi totali, non vuoti, vuoti, unici e duplicati vengono visualizzati tutti insieme.

  3. 3

    Decidi cosa conta

    Commenti, nuove righe finali, vuoti tra le sezioni, il tuo caso d'uso decide.

  4. 4

    Agisci sul conteggio

    Dimensiona l'importazione, deduplica, riduci o riporta il numero come prova.

Cosa conta effettivamente come una riga

Strumenti diversi forniscono diversi “conteggi di righe” per lo stesso file perché fanno scelte diverse su tre punti.

Le tre ambiguità

  1. Nuova riga finale. I file di testo POSIX terminano con \n. La nuova riga finale aggiunge una riga vuota extra? wc -l conta le nuove righe, quindi un file con contenuto su una riga più una nuova riga finale riporta 1; un file con contenuto e senza nuova riga finale riporta 0 (cosa sorprendente). Questo contatore riporta “righe di contenuto”, ignorando l’ultima riga vuota dopo un terminatore.

  2. Vuoto vs solo spazi bianchi. Una riga con spazi o tabulazioni ma senza carattere visibile, è vuota o no? Il contatore tratta le righe solo con spazi bianchi come vuote, corrispondendo alla maggior parte degli editor.

  3. File a riga singola. Un file a una riga senza una nuova riga finale è comunque 1 riga.

Uscite del contatore spiegate

Metrica Definizione
Righe totali Tutte le righe, comprese quelle vuote, fino all’ultima riga non vuota
Non vuote Righe con almeno un carattere non bianco
Vuote Righe che sono vuote o solo spazi bianchi
Uniche Righe distinte non vuote, sensibili al maiuscolo
Duplicati Righe non vuote che appaiono più di una volta (conteggio dei duplicati)

Casi d’uso comuni

  • Deduplica lista di parole, incolla una lista di parole, vedi il conteggio dei duplicati, poi esegui un deduplicatore.
  • Conteggio righe CSV, incolla il corpo del file; sottrai 1 per l’intestazione per ottenere le righe di dati.
  • Analisi log, controlla che un log ruotato abbia il numero previsto di voci.
  • LOC file sorgente, rapido “quante righe ci sono in questo file” senza aprire un IDE.
  • Igiene lista email, vedi quanti indirizzi sono duplicati prima di inviare una campagna.

LOC non è produttività

Il conteggio delle righe del codice sorgente è una misura grossolana. Un modulo denso e ben strutturato di 100 righe può essere più difficile da scrivere e mantenere rispetto a uno di 1.000 righe disperso. Usa i conteggi delle righe per stime di portata (adattarsi a una finestra di contesto, paginazione dell’output, confronto delle dimensioni dei file) piuttosto che per valutazioni delle prestazioni.

Unicode e terminatori di riga

Il contatore normalizza \r\n, \r e \n in una singola nuova riga prima di contare, quindi le terminazioni di riga di Windows, Mac classico e Unix producono tutti lo stesso risultato. I separatori di riga Unicode (U+2028) e i separatori di paragrafo (U+2029) sono anch’essi trattati come interruzioni.

Domande frequenti

wc -l conta i caratteri di nuova riga, quindi un file con contenuto e senza nuova riga finale riporta uno in meno. Questo contatore riporta “numero di righe di contenuto”, che corrisponde alla maggior parte delle barre di stato degli editor.

Sì, le righe contenenti solo spazi o tabulazioni contano come vuote, non non vuote. Questo corrisponde a VS Code, Sublime e alla maggior parte dei flussi di lavoro Git.

Sì. “Hello” e “hello” contano come righe uniche distinte. Se desideri una deduplicazione non sensibile al maiuscolo, converti in minuscolo il tuo input prima con un convertitore di maiuscole.

No, il contatore legge l’input localmente e nulla viene caricato o registrato.

Strumenti correlati

Strumento disponibile in altre lingue