Contar linhas
Hello, uma linha vazia, World e uma quebra de linha final somam 4 linhas: 2 com conteúdo e 2 em branco. Os finais de linha do Windows, do Unix e do Mac antigo são reconhecidos, e cada quebra conta uma vez só. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- Hello World
- Total de linhas
- 4
- Com conteúdo
- 2
- Em branco
- 2
- Linhas
- 4
Contar linhas é um utilitário pequeno que ainda precisa de um contrato claro: o que conta como quebra de linha, se uma quebra final cria uma linha em branco extra, e como linhas só com espaços são classificadas. Este contador de linhas aceita texto não vazio, divide em retorno de carro, line feed ou pares CRLF, e então informa linhas totais, linhas não vazias que contêm ao menos um caractere não branco, e linhas em branco que estão vazias ou só com espaços e tabs após o aparo.
O que contagens de linhas significam e como se decide em branco versus não vazio
Uma contagem de linhas responde três perguntas relacionadas que as pessoas digitam na busca: quantas linhas este texto tem, quantas dessas linhas realmente contêm conteúdo, e quantas estão em branco. Esta capacidade define uma linha como um segmento entre terminadores de linha. Terminadores são retorno de carro, line feed, ou o par retorno-mais-line-feed no estilo Windows tratado como uma única quebra para que um arquivo CRLF não seja contado em dobro.
Após a divisão, cada segmento é classificado. Uma linha é não vazia quando o aparo remove todos os espaços iniciais e finais e algo permanece—letras, dígitos, pontuação ou outros caracteres visíveis. Uma linha é em branco quando o segmento está vazio ou fica vazio após o aparo, o que cobre espaços puros, tabs e linhas completamente vazias entre parágrafos.
O total é igual a não vazias mais em branco por construção, assim você pode afirmar essa identidade em testes. Uma string de uma linha sem nenhuma quebra produz total um e não vazias um quando tem conteúdo. Uma string que termina com quebra produz um segmento em branco final, o que combina com como muitos editores e ferramentas de log expõem uma linha vazia extra no fim do arquivo.
Prefira esta calculadora de contar linhas quando a intenção de busca for contar linhas em texto, contar linhas em branco ou total de linhas não vazias online. Não use quando precisar de contagens de palavras, de caracteres como promessa principal do produto, ou comprimentos em bytes de arquivos binários—essas são landings diferentes.
Casos de uso
Checagens de espaçamento em rascunhos e markdown
Redatores e editores colam rascunhos para ver linhas totais versus linhas espaçadoras em branco antes de publicar posts de blog ou arquivos README.
Auditorias de logs e colagens de suporte
Ferramentas de suporte contam linhas de log não vazias em colagens de clientes e reportam ruído de linhas em branco sem instalar utilitários locais de shell.
Perguntas frequentes
O que acontece se text estiver vazio?
Uma string de comprimento zero é rejeitada e não cobrada; texto só com espaços é permitido e contado como linhas em branco.
Uma quebra de linha final conta como linha extra?
Sim. Texto que termina com quebra de linha inclui um segmento em branco final, então total aumenta em um e blank aumenta em um.
O contador de linhas é grátis?
A ferramenta do navegador roda grátis no seu dispositivo.
Como CRLF e LF são tratados?
Retorno de carro, line feed e pares CRLF são todos tratados como quebras de linha. CRLF conta como uma única quebra para que arquivos no estilo Windows não sejam contados em dobro.
Uma linha só com espaços conta como em branco?
Sim. Uma linha está em branco quando está vazia ou só tem espaços e tabulações; qualquer letra, dígito ou sinal de pontuação a transforma em linha com conteúdo. Um texto só de espaços é aceito e todas as linhas saem em branco.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/str/line-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello\n\nWorld\n"}'const res = await fetch("https://api.kit.forhosting.com/str/line-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello\n\nWorld\n"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/line-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello\n\nWorld\n"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/line-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello\\n\\nWorld\\n"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello\n\nWorld\n"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/line-count", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Hello\n\nWorld\n"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.line_count",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
A resposta é JSON estável que você pode fixar em testes, colocar em formulários ou chamar de SDKs sem escrever outro one-liner em cada linguagem. Entrada vazia falha com invalid_input para que pipelines nunca armazenem cargas de comprimento zero por acidente.
Contrato de entrada, rejeição de vazio e leitura dos campos da resposta
Texto só com espaços é permitido: não é entrada vazia, e reporta corretamente todas as linhas como em branco. O texto-fonte segue as mesmas regras de retenção de outros itens de parse do KIT. Envie um corpo JSON com o campo de string obrigatório text definido para a amostra não vazia que você quer medir. Aliases input, value, s, content e body são aceitos quando clientes antigos ou geradores de formulário usam esses nomes. text ausente, valor que não é string, ou string de comprimento zero elevam invalid_input com uma mensagem que nomeia o problema, e essas falhas não são cobradas na API pré-paga. Em sucesso a resposta inclui total como o número de segmentos de linha, non_empty como a contagem de linhas com conteúdo, blank como a contagem de linhas vazias ou só com espaços, e aliases de conveniência lines igual a total, non_empty_lines igual a non_empty, e empty_lines igual a blank para que diferentes nomes de campo de SDK mapeiem sem cola extra. character_count é o comprimento UTF-16 da string original para checagens rápidas de tamanho ao lado das estatísticas de linha. original ecoa a entrada exata para que UIs mostrem tabelas antes-e-depois sem rearmar a carga. method é sempre line_count para que código downstream possa ramificar sem farejar formas. Use total sozinho quando uma barra de progresso só precise de quantas linhas existem; use non_empty quando faturamento ou nota deva ignorar linhas espaçadoras em branco; use blank quando um guia de estilo ou checagem estilo linter se importe com linhas vazias entre blocos. Mantenha cargas em tamanhos ordinários de mensagem e documento adequados a um isolado Worker em vez de dumps multi-megabyte; este produto é um utilitário de texto, não um armazém de arquivos em massa.
Uso da API, preços, fluxos de trabalho e limites práticos
Chame a ferramenta gratuita de contar linhas no navegador para checagens de lição de casa, auditorias de paste-bin, prévias de log e revisões rápidas de linhas em branco sem instalar wc ou escrever um script em cada linguagem. Um fluxo típico cola rascunho markdown, conta linhas em branco entre seções e então aperta o espaçamento antes de publicar. Não espere contagem de palavras, divisão de sentenças ou detecção de parágrafos com consciência de idioma—esses são problemas separados com termos SEO separados. Autores que publicam SDKs podem documentar text como o único campo obrigatório e mostrar um exemplo de sucesso multilinha mais um exemplo de erro de string vazia para que integradores vejam os dois lados do contrato. Use a API pré-paga do KIT quando um CMS, pipeline de conteúdo, harness de QA ou cliente móvel precisar do mesmo contrato sob saldo a US$ 0,002 por item bem-sucedido; falhas de validação nunca consomem saldo após o motor rejeitar a requisição. Emparelhe este endpoint com ferramentas de diff ou formato quando o próximo passo for comparar duas versões linha a linha, mas mantenha contar linhas como landing própria para que a intenção de busca count-lines não se misture com estatísticas de arquivo completo ou contagens de páginas PDF.
Casos de integração
Fixtures de CI e pipelines de conteúdo
Scripts de build fixam saídas golden de contagem de linhas para que mau tratamento de CRLF ou regressões de entrada vazia falhem a integração contínua imediatamente.
Perguntas técnicas
Como conto linhas em texto com esta ferramenta?
Envie JSON com text definido para sua string não vazia. A resposta devolve contagens total, non_empty e blank, mais aliases e character_count.