Postagem em destaque

Criando bot do Telegram em Shell script com ShellBot

Contando o total de linhas, palavras e bytes em arquivos


Sobre

Imprimir contagens de nova linha, palavras e bytes de cada arquivo.

Descrição

Imprimir contagens de nova linha, palavra e byte para cada ARQUIVO e uma linha total se mais de um ARQUIVO for especificado. Uma palavra é uma sequência de caracteres de comprimento diferente de zero.

Para mais informações consulte o manual: wc(1)


Exemplos

1. Imprimindo o total de caracteres em um expressão.
SHAMAN@shellscriptx:~$ echo 'Shell Script X'  | wc -m
15
Note que a palavra 'Shell Script X' possui apenas 14 letras, ao contrário do valor retornado pelo comando. O motivo é que o 'wc' conta o caractere (\n) nova linha ao final da string como uma letra qualquer.  Por isso devemos sempre considerar que o comprimento da string é igual o valor retornado -1.

2. Contando o total de palavras contidas na expressão.
SHAMAN@shellscriptx:~$ echo 'Shell Script X'  | wc -w
3
Dessa vez o valor retornado corresponde de fato com o total de palavras; Pois não há caracteres especiais a serem interpretados, enquanto o caractere ( ) espaço é considerado apenas como um delimitador entre as palavras.

3. Calculando o total de bytes.
SHAMAN@shellscriptx:~$ echo 'Shell Script X'  | wc -c
15
O mesmo resultado foi obtido quando utilizamos o parâmetro '-m' (total de caracteres); Se pensarmos na menor unidade de informação que pode ser armazenada ou transmitida na computação, teremos a unidade bit; Um caractere corresponde a um conjunto de 8 bits que é o mesmo que 1 byte, ou seja, cada caractere corresponde a 1 byte.

Para os próximos exemplos irei utilizar um arquivo chamado texto.txt com o seguinte conteúdo:

SHAMAN@shellscriptx:~$ cat texto.txt
Linux significa ser livre.
Shell Script é Vida.
Distribuição é questão de gosto.
O importante é agregar conhecimento.

4. Contando o total de linhas contidas em um arquivo
SHAMAN@shellscriptx:~$ wc -l texto.txt
4 texto.txt
A quantidade de linhas precede o nome do arquivo no qual foi realizado a contagem.
Nota: Até mesmo as linhas em branco são contadas.

5. Executando o comando sem parâmetros.
SHAMAN@shellscriptx:~/teste$ wc texto.txt
  4  18 124 texto.txt
Se o parâmetro for omitido, por padrão o comando realiza a contagem de linhas, palavras e bytes; E retorna os valores nessa ordem respectivamente.

6. Realizando a contagem em dois arquivos.
SHAMAN@shellscriptx:~/teste$ wc /etc/group /etc/passwd
  70   70 1027 /etc/group
  41   70 2282 /etc/passwd
 111  140 3309 total
Quando utiliza-se vários arquivos, o comando realiza a contagem criando uma espécie de subtotal referente a cada arquivo e na última linha apresenta o total da soma de cada coluna. Neste caso foi retornado um total de:
111 linhas, 140 palavras e 3309 bytes.

7. Calculando o total de arquivos em um diretório.
SHAMAN@shellscriptx:~$ find /etc -type f | wc -l
1831
Neste exemplo, listei todos os arquivos do diretório /etc (recursivamente), onde os nomes são retornados um debaixo do outro; Com isso podemos concluir que o número de arquivos é equivalente ao número de linhas.

Comentários

Contato

Nome

E-mail *

Mensagem *