Contador de Linhas

Cole texto, código-fonte, um arquivo de log ou um CSV e o contador retorna o total de linhas, linhas não vazias, linhas em branco, linhas únicas e linhas duplicadas. Útil quando um recrutador pergunta “quantas LOC neste repositório?”, quando você precisa saber quantas linhas um CSV tem sem abri-lo no Excel, ou quando você quer verificar uma lista de palavras para duplicatas antes de alimentá-la em um script.

Como contar linhas

  1. 1

    Cole o conteúdo

    Até alguns megabytes de texto, log, arquivo fonte, markdown, lista.

  2. 2

    Leia a divisão

    Contagens totais, não vazias, em branco, únicas e duplicadas são exibidas de uma vez.

  3. 3

    Decida o que conta

    Comentários, novas linhas finais, em branco entre seções, seu caso de uso decide.

  4. 4

    Aja com a contagem

    Dimensione a importação, deduplice, corte ou relate o número como evidência.

O que realmente conta como uma linha

Diferentes ferramentas dão diferentes “contagens de linhas” para o mesmo arquivo porque fazem escolhas diferentes em três pontos.

As três ambiguidades

  1. Nova linha final. Arquivos de texto POSIX terminam em \n. A nova linha final adiciona uma linha vazia extra? wc -l conta novas linhas, então um arquivo com conteúdo em uma linha mais uma nova linha final relata 1; um arquivo com conteúdo e sem nova linha final relata 0 (o que é surpreendente). Este contador relata “linhas de conteúdo”, ignorando a última linha vazia após um terminador.

  2. Em branco vs apenas espaços. Uma linha com espaços ou tabulações, mas sem caractere visível, está vazia ou não? O contador trata linhas apenas com espaços como em branco, correspondendo à maioria dos editores.

  3. Arquivos de uma linha. Um arquivo de uma linha sem uma nova linha final ainda é 1 linha.

Saídas do contador explicadas

Métrica Definição
Linhas totais Todas as linhas, incluindo em branco, até a última linha não vazia
Não vazias Linhas com pelo menos um caractere não espaço
Em branco Linhas que estão vazias ou apenas com espaços
Únicas Linhas distintas não vazias, sensíveis a maiúsculas e minúsculas
Duplicadas Linhas não vazias que aparecem mais de uma vez (contagem das duplicadas)

Casos de uso comuns

  • Deduplicação de lista de palavras, cole uma lista de palavras, veja a contagem de duplicatas e depois passe por um deduplicador.
  • Contagem de linhas CSV, cole o corpo do arquivo; subtraia 1 para o cabeçalho para obter as linhas de dados.
  • Análise de log, verifique se um log rotacionado tem o número esperado de entradas.
  • LOC de arquivo fonte, rápida “quantas linhas neste arquivo” sem abrir um IDE.
  • Higiene de lista de e-mails, veja quantos endereços são duplicados antes de enviar uma campanha.

LOC não é produtividade

A contagem de linhas de código fonte é uma medida grosseira. Um módulo denso e bem estruturado de 100 linhas pode ser mais difícil de escrever e manter do que um extenso de 1.000 linhas. Use contagens de linhas para estimativas de escopo (encaixando em uma janela de contexto, paginando a saída, comparando tamanhos de arquivos) em vez de avaliação de desempenho.

Unicode e terminadores de linha

O contador normaliza \r\n, \r e \n para uma única nova linha antes de contar, então terminações de linha do Windows, Mac clássico e Unix produzem todos o mesmo resultado. Separadores de linha Unicode (U+2028) e separadores de parágrafo (U+2029) também são tratados como quebras.

Perguntas frequentes

wc -l conta caracteres de nova linha, então um arquivo com conteúdo e sem nova linha final relata um a menos. Este contador relata “número de linhas de conteúdo”, que corresponde à maioria das barras de status dos editores.

Sim, linhas contendo apenas espaços ou tabulações contam como em branco, não não vazias. Isso corresponde ao VS Code, Sublime e à maioria dos fluxos de trabalho do Git.

Sim. “Olá” e “olá” contam como linhas únicas distintas. Se você quiser deduplicação sem considerar maiúsculas, converta seu input para minúsculas primeiro com um conversor de caso.

Não, o contador lê a entrada localmente e nada é enviado ou registrado.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas