classificação: Ordenar dados não deve ser uma tarefa excessivamente complicada. Se você está procurando uma maneira eficiente de ordenar dados, o cmdlet Sort-Object
do PowerShell está aqui para ajudar!
Neste tutorial, você aprenderá como usar o cmdlet Sort-Object
do PowerShell para ordenar dados, sejam números, strings ou objetos.
Abandone a análise constante de seus dados e ordene-os eficientemente no PowerShell!
Pré-requisitos
Certifique-se de ter uma máquina com PowerShell 5.0 ou posterior instalado para seguir este tutorial com as demonstrações práticas. Este tutorial utiliza o Windows 10 com PowerShell 7 instalado.
Ordenando Dados com o cmdlet Sort-Object
do PowerShell
Dependendo de seus requisitos, você pode ordenar dados com base em uma ou mais propriedades de várias maneiras. O cmdlet Sort-Object
permite que você ordene dados, por exemplo, em ordem ascendente ou descendente para facilitar a análise e o trabalho com informações estruturadas.
A sintaxe básica do cmdlet Sort-Object
é a seguinte, onde:
<Objeto-para-Ordenar>
– Refere-se à coleta de dados para ordenar, como um array, uma lista ou outros tipos de dados.<-Parâmetro>
– Um parâmetro opcional para especificar os critérios de ordenação que permitem personalizar como a ordenação é realizada.
Para ver como você pode ordenar dados em ordem ascendente e descendente:
1. Abra o PowerShell e execute o comando abaixo, que não fornece saída, mas define uma lista de números inteiros aleatórios na variável $numbers
.
? Observe que no PowerShell, você não está apenas trabalhando com números e strings, mas com objetos, já que o PowerShell é uma linguagem e shell orientados a objetos.
2. Em seguida, execute os seguintes comandos para ordenar (Sort-Object
) e exibir (Write-Output
) os números definidos na variável $numbers
.
Sem anexar parâmetros, a saída exibe os números em ordem ascendente.

3. Agora, execute os mesmos comandos, mas desta vez, anexe o parâmetro -Descending
para ordenar e exibir os números em ordem decrescente.
A saída, semelhante à mostrada abaixo, indica que os números foram ordenados em ordem decrescente.

Ordenando Dados por Valores Únicos
Ordenar dados em ordem crescente e decrescente é uma coisa. Mas pode haver casos em que você precise ordenar dados com base em valores únicos. Neste contexto, “único” refere-se a valores distintos ou não repetidos dentro de um conjunto de dados.
Para ordenar dados por valores únicos:
Execute os seguintes comandos para realizar o seguinte:
- Defina uma lista de números inteiros (com duplicatas incluídas) na variável
$numbers
. - Ordene os números pelos valores
-Únicos
em ordem-Decrescente
e armazene o resultado na variável$sortedNumbers
.
Ao ordenar por valores únicos, você organiza os dados para que cada valor apareça apenas uma vez no resultado ordenado, eliminando duplicatas.
Esses comandos não fornecem saída, mas você verificará os dados ordenados na etapa seguinte.
Agora, execute o comando Write-Output
abaixo para enviar para a saída o conteúdo da variável $sortedNumbers
para verificar o resultado.
Abaixo, todos os valores únicos estão ordenados em ordem decrescente, e os valores duplicados foram eliminados.
Como você pode ver, ordenar por valores únicos aumenta a eficiência da análise de dados e elimina informações redundantes ao lidar com grandes conjuntos de dados.

Ordenação de Dados por Strings
Até agora, você viu como ordenar valores numéricos. Mas e se estiver trabalhando com strings? Não se preocupe. O cmdlet Sort-Object
permite que você organize dados de strings em uma ordem específica com base em critérios de classificação.
Neste contexto, uma string refere-se a um único caractere ou a uma sequência de caracteres, como palavras, frases ou outros dados textuais. No PowerShell, as strings são representadas ao enquadrar o texto entre aspas, seja simples ('
) ou duplas ("
).
Execute os seguintes comandos para ordenar um array de strings em ordem ascendente (alfabética) por padrão.
A ordenação de strings no PowerShell oferece flexibilidade na organização de dados textuais em uma ordem desejada, permitindo manipulação e análise eficientes dos dados.

Agora, execute os mesmos comandos, mas ordene-os em ordem -Descending
em vez disso.
Desta vez, você verá a saída na ordem reversa, como mostrado abaixo.

Ordenação de Dados por Propriedades
Sem dúvida, ordenar strings é útil. Mas, geralmente, você deve ser mais específico ao ordenar dados. Além de ordenar strings, por que não ordenar objetos com base em suas propriedades?
Quando se trabalha com objetos no PowerShell, cada objeto geralmente possui uma ou mais propriedades que você pode usar para ordenação. Essas propriedades permitem que você defina seus critérios de ordenação de acordo com suas necessidades.
Execute os comandos a seguir para obter uma lista de todos os processos em execução (Get-Process
) em seu sistema e ordená-los por utilização de CPU
. O parâmetro -Descending
exibe o resultado com os processos mais intensivos em recursos listados primeiro.

Ordenando Tabelas de Hash
Ordenar objetos por propriedades é um ponto de virada ao trabalhar com análise de dados. Mas e quanto à organização de dados em pares de chave-valor, como tabelas de hash?
O cmdlet Sort-Object
permite que você ordene tabelas de hash para aprimorar a apresentação de dados e simplificar a recuperação de informações.
execute o seguinte código para converter uma tabela hash em uma matriz de pares chave-valor e ordenar a tabela hash pelas suas chaves.
Dado que as chaves ordenam a tabela hash, a saída será semelhante à seguinte, onde você pode observar que a saída organiza e exibe os pares chave-valor em uma ordem específica.
Este método de ordenação garante uma melhor apresentação dos dados e facilita a recuperação de informações da tabela hash.

Conclusão
Ao longo deste tutorial, você explorou como ordenar valores únicos, strings, números, processos e até tabelas hash com o cmdlet Sort-Object
. A ordenação de dados é uma tarefa que permite pavimentar o caminho para uma análise de dados mais perspicaz, e com o cmdlet Sort-Object
do PowerShell, você está no caminho certo.
Armado com esse conhecimento recém-descoberto, agora você pode garantir que seus dados estejam organizados de maneira significativa e mostrá-los com confiança aos outros.
A ordenação é apenas uma das muitas capacidades valiosas do PowerShell e de seus cmdlets. Por que não expandir suas habilidades aprendendo sobre outros cmdlets? Talvez criar registros de programas com Tee-Object
ou medir tamanhos de objetos com Measure-Object
?
Source:
https://adamtheautomator.com/powershell-sort-object/