wc e nl
100%

Text-Fu · Lição 15

wc e nl

Aprenda a contar linhas, palavras, bytes ou caracteres com wc e numerar linhas com nl.

O comando wc conta propriedades de fluxos de texto, enquanto nl grava a entrada com números de linha gerados. Os dois leem arquivos ou stdin e enviam seus resultados a stdout.

Leitura da Saída Padrão de wc

Sem uma opção de contagem, wc mostra a quantidade de caracteres de nova linha, palavras e bytes, seguida do nome do arquivo quando um foi fornecido:

$ printf 'red blue\ngreen\n' > colors.txt
$ wc colors.txt
 2  3 15 colors.txt

Da esquerda para a direita:

  1. 2 caracteres de nova linha, informados como linhas.
  2. 3 palavras delimitadas por espaços em branco.
  3. 15 bytes neste exemplo ASCII.

Uma linha final de texto sem uma nova linha de terminação não é contada por wc -l, pois essa opção conta caracteres de nova linha, não linhas percebidas visualmente.

Na saída padrão de wc file.txt, o que os três primeiros números representam?

Solicitação de uma Única Contagem

Selecione apenas a medida necessária:

  • -l: conta caracteres de nova linha.
  • -w: conta palavras.
  • -c: conta bytes.
  • -m: conta caracteres de acordo com o locale atual.

Por exemplo:

$ wc -w colors.txt
3 colors.txt

As quantidades de bytes e caracteres são iguais em textos ASCII, mas podem ser diferentes em codificações multibyte como UTF-8. Quando stdin é usada sem um operando de nome de arquivo, wc normalmente omite o rótulo do nome:

$ printf 'one two\n' | wc -w
2

Qual comando informa apenas a quantidade de palavras de essay.txt?

Qual opção solicita que wc conte caracteres, não bytes, no locale atual?

Quando vários arquivos são indicados, wc mostra um resultado para cada um e uma linha total. O GNU wc -L informa a largura máxima de exibição de uma linha da entrada.

Numeração de Linhas Não Vazias com nl

Por padrão, nl numera as linhas não vazias do corpo lógico da entrada. Suponha que notes.txt contenha uma segunda linha vazia:

alpha

beta

A linha vazia é preservada, mas não recebe um número:

$ nl notes.txt
     1	alpha

     2	beta

nl grava uma saída numerada; ele não modifica notes.txt.

Como nl notes.txt trata as linhas vazias do corpo por padrão?

Numeração de Todas as Linhas

Use -ba para selecionar o estilo de corpo a, que numera todas as linhas:

$ nl -ba notes.txt
     1	alpha
     2
     3	beta

Outras opções controlam a formatação. Por exemplo, -w 3 define a largura do campo numérico, e -s ': ' muda o separador depois do número.

Qual comando numera todas as linhas do corpo de notes.txt, inclusive as vazias?

Lição concluída

Você concluiu wc e nl

Agora você sabe medir fluxos de texto e acrescentar números de linha visíveis sem editar a origem.

  • Interprete as colunas padrão de linhas, palavras e bytes de wc.

  • Selecione uma contagem com -l, -w, -c ou -m.

  • Diferencie a quantidade de bytes da quantidade de caracteres.

  • Numere linhas não vazias com o comportamento padrão de nl.

  • Numere também as linhas vazias com nl -ba.

Salve seu progresso

Crie uma conta gratuita para salvar esta lição e continuar em qualquer dispositivo.

Criar uma conta gratuita
Próxima Lição
Voltar para Text-Fu