Comando sort - Ordenando dados em um arquivo de texto no Linux - LPI 1 - Bóson Treinamentos em Ciência e Tecnologia
Início » Linux » Certificação LPIC-1 » Comando sort – Ordenando dados em um arquivo de texto no Linux – LPI 1
Comando sort – Ordenando dados em um arquivo de texto no Linux – LPIC 1
O comando sort é utilizado para organizar os dados dentro de um arquivo, de acordo com a necessidade do usuário, e exibir esses dados classificados na saída padrão, ou redirecionar essa saída a outro arquivo.
Ele permite classificar as linhas de um arquivo de texto de várias formas, como por exemplo alfabeticamente ou numericamente.
Por padrão, ordena de acordo com os dados da primeira coluna de valores do arquivo.
Opções do comando sort:
Ignorar espaçosem branco no início do arquivo
Considerar apenas espaços e caracteres alfanuméricos
Converter caracteres de caixa baixa para caixa alta
Comparar de acordo com valores numéricos genéricos
Considerar apenas caracteres imprimíveis
Classificar por mês (JAN < … < DEZ)
Comparar de acordo com valores de string numérica
-o, –output=ARQUIVO
Escreve o resultado em ARQUIVO em vez da saída padrão
Verificar se a entrada já está ordenada – neste caso, não ordenar.
-t [delimitador]
Especificar um delimitador de colunas para poder ordenar o arquivo por dados em uma coluna que não seja a primeira.
Mostra apenas a primeira ocorrência de uma string, ou seja, elimina entradas duplicadas.
Especificar o número num da coluna que será usada para classificar o arquivo. Por padrão, os separadores de campos são os espaços em branco ou tabulações.
Mostrar a ajuda e sair
Mostrar informações sobre a versão e sair.
1. Vamos classificar os dados do arquivo de grupos do sistema (/etc/group) em ordem alfabética de nome de grupo (coluna 1 do arquivo):
# sort /etc/group
2. Ordenar os grupos do arquivo /etc/group por número de GID (coluna 3 do arquivo):
# sort -n -t: -k3 /etc/group
3. Idem anterior, porém em ordem reversa:
# sort -nr -t: -k3 /etc/group
4. Ordenar os grupos do arquivo /etc/group por número de GID e salvar o resultado no arquivo de nome grupos_ordenados:
# sort -n -t: -k3 /etc/group > grupos_ordenados
5. Ordenar o arquivo /etc/passwd por ordem alfabética de usuário, escrevendo a saída num arquivo chamado de teste:
# sort --output=teste /etc/passwd
6. O arquivo vendas possui duas colunas de dados: a primeira coluna mostra o mês da venda, a segunda coluna o nome do produto, e a terceira coluna a quantidade. Porém, as vendas não estão classificadas em nenhuma ordem em particular. Veja:
Vamos classificar esse arquivo em ordem de mês de venda:
# sort -M vendas
7. Queremos agora apenas gerar uma listagem de produtos distintos vendidos, sem repetições de nomes. Usaremos o comando sort em conjunto com o comando cut nesse exemplo:
# cut -f2 vendas | sort -u
Note que sem usar o sort com a opção -u serão retornadas todas as linhas do arquivo, o que incluirá nomes de produtos repetidos.
Assista a um vídeo explicativo sobre o utilitário sort no Linux para obter maiores informações:
Instalando o Claws Mail e configurando contas de correio no Linux Debian
1 Comentário em Comando sort – Ordenando dados em um arquivo de texto no Linux – LPI 1
zezaomachado // 13/08/2019 em 11:14 // Responder
Poderia me dizer como faço para classificar(organisar) pelo tamanho das linhas… da menor para maior.