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: 3.037 ]

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

Incrementando o Ubuntu GNOME

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

O desenvolvimento da computação gráfica associado ao dos vídeo games

Para quem não conhece, eis o LMDE e umas palavras sobre Refisefuquis

Gnome-shell sob a perspectiva da usabilidade

Leitura recomendada

Instalação do Void Linux em UEFI + Dual Boot com Windows

Um Pouco de Crux Linux

Repositórios, pacotes, o que são?

Introdução ao Arch Build System

Tumbleweed, o openSUSE Rolling Release

  
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