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.
Parte 4: 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 comandowc (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 usarwc 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.
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 comandosort é 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
laranja
abacaxi
manga
uva
Executando o Comando:
sort frutas.txt
Saída:
abacaxi
banana
laranja
manga
uva
Comando uniq: Removendo Linhas Duplicadas
O comandouniq é 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
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
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
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
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!
______________________________________________________________________
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