sort

Lê a entrada, classifica os dados e grava os resultados na tela, em um arquivo ou em outro dispositivo.

Sintaxe

sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]

Parâmetros

Parâmetro Descrição
/r Inverte a ordem de classificação (ou seja, classifica de Z para A e de 9 a 0).
/+<N> Especifica o número da posição do caractere em que o comando sort iniciará cada comparação. N pode ser qualquer inteiro válido.
/m <kilobytes> Especifica a quantidade de memória principal a ser usada para a classificação em quilobytes (KB).
/l <locale> Substitui a ordem de classificação de caracteres definida pela localidade padrão do sistema (ou seja, o idioma e o País/Região selecionados durante a instalação).
/rec <characters> Especifica o número máximo de caracteres em um registro ou uma linha do arquivo de entrada (o valor padrão é 4.096 e o máximo é 65.535).
[<drive1>:][<path1>]<filename1> Especifica o arquivo a ser classificado. Se nenhum nome de arquivo for especificado, a entrada padrão será classificada. Especificar o arquivo de entrada é mais rápido do que redirecionar o mesmo arquivo como entrada padrão.
/t [<drive2>:][<path2>] Especifica o caminho do diretório para manter o armazenamento em funcionamento do comando sort se os dados não se ajustarem à memória principal. Por padrão, é usado o diretório temporário do sistema.
/o [<drive3>:][<path3>]<filename3> Especifica o arquivo no qual armazenar a entrada classificada. Se não estiver especificado, os dados são gravados na saída padrão. Especificar o arquivo de saída é mais rápido do que redirecionar a saída padrão para o mesmo arquivo.
/unique Retorna apenas resultados exclusivos.
/? Exibe a ajuda no prompt de comando.

Comentários

  • Por padrão, as comparações começam no primeiro caractere de cada linha. A opção /+ da linha de comando inicia comparações no caractere especificado por N. Por exemplo, /+3 indica que cada comparação deve começar no terceiro caractere de cada linha. Linhas com menos de N caracteres são agrupadas antes de outras linhas.

  • A memória usada é sempre um mínimo de 160 KB. Se o tamanho da memória for especificado, a quantidade especificada exata será usada para a classificação (deve ser de pelo menos 160 KB), independentemente da quantidade de memória principal disponível.

  • O tamanho máximo de memória padrão quando nenhum tamanho for especificado é 90% da memória principal disponível se a entrada e a saída forem arquivos ou, caso contrário, 45% da memória principal. A configuração padrão geralmente oferece o melhor desempenho.

  • Atualmente, a única alternativa à localidade padrão é a localidade C, que é mais rápida do que a classificação de linguagem natural (classifica caracteres de acordo com suas codificações binárias).

  • Você pode usar o símbolo de pipe (|) para direcionar dados de entrada para o comando sort de outro comando ou para direcionar a saída classificada para outro comando. Você pode especificar arquivos de entrada e saída usando símbolos de redirecionamento (< ou >). Pode ser mais rápido e eficiente (especialmente com arquivos grandes) especificar o arquivo de entrada diretamente (conforme definido por filename1 na sintaxe de comando) e especificar o arquivo de saída usando o parâmetro /o.

  • O comando sort não distingue entre letras maiúsculas e minúsculas e não tem limite no tamanho do arquivo.

  • O programa de classificação usa a tabela de sequência de ordenação que corresponde às configurações de código País/Região e página de código. Caracteres maiores que o código ASCII 127 são classificados com base em informações no arquivo Country.sys ou em um arquivo alternativo especificado pelo comando country no arquivo Config.nt.

  • Se a classificação se ajustar ao tamanho máximo da memória (conforme definido por padrão ou conforme especificado pelo parâmetro /m ), a classificação será executada em uma única passagem. Caso contrário, a classificação é executada em duas passagens de classificação e mesclagem separadas, e as quantidades de memória usadas para ambas as passagens são iguais. Quando duas passagens são executadas, os dados parcialmente classificados são armazenados em um arquivo temporário no disco. Se não houver memória suficiente para executar a classificação em duas passagens, será emitido um erro em tempo de execução. Se a opção de linha de comando /m for usada para especificar mais memória do que está realmente disponível, poderá ocorrer degradação de desempenho ou erro em tempo de execução.

Exemplos

  • Para classificar e exibir, em ordem inversa, as linhas em um arquivo chamado expenses.txt, digite:

    sort /r expenses.txt
    
  • Para pesquisar um arquivo grande chamado maillist.txt pelo texto Jones e classificar os resultados da pesquisa usando o pipe (|) para direcionar a saída de um comando find para o comando sort, digite:

    find Jones maillist.txt | sort
    

    O comando produz uma lista classificada de linhas que contêm o texto especificado.

  • Para classificar a entrada do teclado e exibir os resultados em ordem alfabética na tela, primeiro você pode usar o comando sort sem parâmetros digitando:

    sort
    

    Em seguida, digite o texto que você deseja classificar e pressione ENTER no final de cada linha. Quando terminar de digitar o texto, pressione CTRL+Z e, em seguida, ENTER. O comando sort exibe o texto digitado, classificado em ordem alfabética.