Linux e Unix
Comando sort - ordenando o conteúdo de um arquivo no Linux
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.
Sintaxe:
sort [opções] [arquivo]
Opções:
-b, --ignore-leading-blanks
Ignorar espaçosem branco no início do arquivo
-d, --dictionary-order
Considerar apenas espaços e caracteres alfanuméricos
-f, --ignore-case
Converter caracteres de caixa baixa para caixa alta
-g, --general-numeric-sort
Comparar de acordo com valores numéricos genéricos
-i, --ignore-nonprinting
Considerar apenas caracteres imprimíveis
-M, --month-sort
Classificar por mês (JAN < … < DEZ)
-n, --numeric-sort
Comparar de acordo com valores de string numérica
-o, --output=ARQUIVO
Escreve o resultado em ARQUIVO em vez da saída padrão
-r, --reverse
Ordem reversa
-c, --check
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.
-u, --unique
Mostra apenas a primeira ocorrência de uma string, ou seja, elimina entradas duplicadas.
-k num
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.
--help
Mostrar a ajuda e sair
--version
Mostrar informações sobre a versão e sair.
Exemplos:
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
# cat teste
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:
# 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.
loading...
-
Verificando Processos Com Os Comandos Ps E Pstree No Linux
O comando ps gera um instantâneo dos processos atuais no terminal e permite mostrar informações sobre uma seleção dos processos ativos. Sintaxe:ps [opções]Há três estilos de opções disponíveis: 1. Opções padrão do Unix: podem ser agrupadas...
-
Gerenciamento De Grupos No Freebsd
Neste artigo vamos continuar falando a respeito do gerenciamento de usuários e grupos no FreeBSD, mais precisamente abordando o assunto Grupos.Gerenciamento de GruposO que é um grupo? Um grupo é uma lista de usuários que nos permite aplicar permissões...
-
Comando Tail - Mostrar O Final De Um Arquivo De Texto
O comando tail é usado para mostrar no terminal o conteúdo do final de um ou mais arquivos de texto. Por padrão, ele mostrará as 10 últimas linhas dos arquivos. Sintaxe:tail [opções] nomes_arquivos Opções: -c, --bytes=N Mostra os útimos N...
-
Comando Head - Mostrar O Início De Um Arquivo De Texto
O comando head é usado para mostrar no terminal o conteúdo do início de um arquivo de texto. Por padrão, ele mostrará as primeiras 10 linhas do arquivo. Sintaxe:head [opções] nome_arquivo Opções:-c, --bytes=[-]n Mostrar os primeiros n bytes...
-
Comparando Arquivos No Linux / Unix
Comando cmpCompara o conteúdo de dois arquivos e envia o resultado para a saída padrão.Usa-se o comando cmp para arquivos que não são de texto para verificar se são idênticos. Para comparar arquivos de texto, use o comando diff.Se os arquivos...
Linux e Unix