O mínimo que você precisa saber sobre o terminal (parte 2)

Esta é a segunda parte do artigo que é um tutorial introdutório sobre como se virar no Linux. Ideal para iniciantes, permitindo que o usuário ganhe confiança e eficiência no uso da linha de comando.

[ Hits: 4.682 ]

Por: Xerxes em 24/09/2024


Comandos para análise de arquivos: wc, sort, uniq



Agora que já aprendemos o básico do editor vi e do Nano, vamos continuar aprendendo sobre comandos úteis no Linux para manipular e analisar arquivos de texto. Nesta parte do artigo, vamos explorar os comandos wc, uniq, e sort, além de alguns de seus parâmetros. Esses comandos são extremamente úteis em diversas situações, como quando você precisa contar palavras, remover duplicatas ou organizar dados.

Comando wc: Contagem de Linhas, Palavras e Caracteres

O comando wc (word count) é utilizado para contar linhas, palavras e caracteres em um arquivo de texto. Ele retorna três informações principais:

- Número de linhas
- Número de palavras
- Número de caracteres

Sintaxe

O comando é simples. Basta usar wc seguido do nome do arquivo:

wc arquivo.txt

Para ilustrar o uso do comando, vamos supor um arquivo exemplo.txt com o seguinte conteúdo:

Viva o Linux!
Nós amamos a liberdade.
Aprender comandos é essencial.

Executando o Comando

Comando executado:

wc exemplo.txt

A saída será:

 3 11 71 exemplo.txt

- 3: número de linhas no arquivo.
- 11: número de palavras.
- 71: número de caracteres (incluindo espaços e quebras de linha).

Usando Parâmetros do wc

Você pode especificar o que deseja contar no arquivo usando os seguintes parâmetros:

- -l: Conta apenas o número de linhas.
- -w: Conta apenas o número de palavras.
- -c: Conta apenas o número de bytes (caracteres).

Exemplos

Comandos de exemplo:

wc -l exemplo.txt  # Mostra apenas o número de linhas

wc -w exemplo.txt  # Mostra apenas o número de palavras

wc -c exemplo.txt  # Mostra apenas o número de caracteres

Comando sort: Ordenando Linhas em Arquivos de Texto

O comando sort é utilizado para organizar as linhas de um arquivo em ordem alfabética ou numérica.

Sintaxe

Basta executar o comando seguido do nome do arquivo:

sort arquivo.txt

Um exemplo com conteúdo de frutas.txt:

banana
laranja
abacaxi
manga
uva

Executando o Comando:

sort frutas.txt

Saída:

abacaxi
banana
laranja
manga
uva

Comando uniq: Removendo Linhas Duplicadas

O comando uniq é usado para remover linhas duplicadas de um arquivo de texto. Ele só funciona corretamente quando as linhas duplicadas estão adjacentes, por isso é comum usá-lo em conjunto com o comando sort(que vimos antes) para garantir que as duplicatas estejam ordenadas.

Sintaxe

O comando é assim:

uniq arquivo.txt

Vamos imaginar que há um arquivo chamado nomes.txt com o seguinte conteúdo:

Ana
Carlos
Ana
Beatriz
Carlos
Ana
Beatriz

Ao executarmos o comando:

uniq nomes.txt

A saída será...

Ana
Carlos
Ana
Beatriz
Carlos
Ana
Beatriz

Neste exemplo, nenhuma linha foi removida porque as duplicatas não estão adjacentes. Para garantir a remoção das duplicatas, devemos ordenar as linhas primeiro.

Ordenando o Arquivo e Usando uniq depois

Observe o comando:

sort nomes.txt | uniq

Saída:

Ana
Beatriz
Carlos

Agora, o arquivo está ordenado e as duplicatas foram removidas.

Aqui está o que acontece passo a passo:

1. Ordenação: O comando sort nomes.txt lê o arquivo nomes.txt e ordena seu conteúdo em ordem alfabética.

2. Remoção de Duplicatas: A barra vertical, também chamada de pipe (|) pega a saída do comando sort e a passa como entrada para o comando uniq. O uniq então remove quaisquer duplicatas consecutivas dessa lista ordenada.

Alguns parâmetros para o uniq

O parâmetro -i do uniq serve para ignorar diferenças entre maiúsculas e minúsculas ao considerar duplicatas.

Vamos pegar como exemplo o conteúdo de cidades.txt:

Rio
rio
São Paulo
são paulo
Brasília
brasília


Executando o comando com -i:

uniq -i cidades.txt

Saída:

Rio
São Paulo
Brasília

O parâmetro -c faz o uniq contar quantas vezes cada linha aparece no arquivo, ao invés de apenas remover as duplicadas.

Exemplificando com o conteúdo de animais.txt:

gato
cachorro
gato
passarinho
gato
cachorro


Executando o comando com -c:

sort animais.txt | uniq -c

Saída:

2 cachorro
3 gato
1 passarinho

A saída mostra quantas vezes cada linha aparece. Como precisa ser adjacente, como explicado antes, foi necessário novamente o uso do sort primeiro e do pipe (|).

O parâmetro -D faz o uniq mostrar apenas as linhas que são duplicadas e adjacentes no arquivo.

Exemplo de conteúdo de cores.txt:

vermelho
azul
vermelho
verde
azul
azul

Executando o comando com -D:

uniq -D cores.txt

Saída:

azul
azul

Continue explorando as diversas opções dos comandos wc, uniq, e sort para ampliar seu domínio sobre a manipulação de arquivos no Linux!
Página anterior     Próxima página

Páginas do artigo
   1. Editor vi: Introdução, abrir, modos, salvar, fechar
   2. Editor vi: Copiar, colar, recortar, localizar e substituir
   3. Editor Nano
   4. Comandos para análise de arquivos: wc, sort, uniq
   5. Exibindo partes de um arquivo com head e tail
   6. Entendendo as permissões (rwx)
   7. Conclusão
Outros artigos deste autor

Pipelight Flash vs. Fresh Player vs. Adobe Flash nativo vs. Pepper Flash nativo

Um pouco sobre Budgie Desktop

KahelOS - apresentação e dicas

Como jogar a versão para PC de "The Legend of Zelda: Ocarina of Time" no sistema operacional GNU/Linux com melhorias gráficas

Curiosidades e mitos sobre Slackware

Leitura recomendada

OpenSSH - Debian Lenny - CentOS 5.5 - Slackware 13.1

Manjaro Linux - Treze motivos para desfrutar da simplicidade

Palavras, expressões e celebridades do mundo do software livre

Qual a melhor distribuição? Ainda a pergunta...

Esgotando os recursos

  
Comentários
[1] Comentário enviado por maurixnovatrento em 11/10/2024 - 15:52h

Bem completo!
______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro
Meu GitHub Pessoal: https://github.com/mxnt10

[2] Comentário enviado por QuentinBurns em 16/10/2024 - 07:08h


https://forum.meo.pt/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts