O que é poderoso PowerShell Compare matrizes

O que é poderoso PowerShell Compare matrizes

Uma matriz é a coleção/grupo de itens de dados semelhantes/idênticos localizados próximos um do outro na memória. Matrizes podem ser comparadas no PowerShell usando o “Compare-objeto”Cmdlet e o“-ContémOperador. O cmdlet "Compare-Object" em PowerShell é usado para comparar os dois conjuntos de objetos. O primeiro conjunto de objetos é “referência”E o segundo conjunto de objetos é o“diferença”. Por outro lado, o operador "-contém" verifica se uma matriz contém um objeto específico ou não.

A postagem a seguir cobrirá os detalhes sobre a comparação de matrizes PowerShell.

O que é poderoso PowerShell Compare matrizes?

Essas abordagens serão consideradas ao comparar matrizes:

  • Compare matrizes usando o “Compare-objeto”Cmdlet.
  • Compare matrizes usando o “-ContémOperador.

Método 1: Compare matrizes utilizando o cmdlet "Compare-object"

O cmdlet "Compare-Object" em PowerShell é usado para comparar os dois conjuntos de objetos. Um conjunto de objetos é “referência”E o segundo conjunto é o“diferença”.

Exemplo 1: use o cmdlet "Compare-objeto" para comparar duas matrizes

O exemplo abaixo verificará se a matriz contém um objeto específico ou não:

Compare -object -ReferenceObject (Get -Content -Path C: \ Doc \ Ref_File.txt) -differenceObject (Get -Content -Path C: \ Doc \ DIF_FILE.TXT)

De acordo com o código acima:

  • Primeiro, escreva o “Compare-objeto”Cmdlet.
  • Então, adicione o “-ReferenceObjectParâmetro e atribua a matriz referenciada.
  • Depois disso, escreva o “-Diferençabject”Parâmetro e especifique a matriz de diferenças:

Exemplo 2: Use o parâmetro "-includeeQual" junto com o cmdlet "Compare-object"

O exemplo a seguir exibirá os valores da matriz que existem em ambas as matrizes, adicionando o “-IncluindoqualParâmetro no final:

Compare -object -ReferenceObject (Get -Content -Path C: \ Doc \ Ref_File.txt) -differenceObject (Get -Content -Path C: \ Doc \ DIF_FILE.txt) -includeequal

Método 2: Compare matrizes usando o operador “-Contains”

O "-Contém”O operador em PowerShell verifica se o item específico está disponível na coleção ou não. O operador declarado não entende as coleções por padrão. No entanto, o código criado pelo usuário ajuda o operador "-Contains" a entender a coleta de objetos.

Exemplo 1: Verifique se uma matriz contém cores especificadas ou não

A demonstração a seguir verificará se uma matriz contém um determinado objeto ou não:

$ colors = @('azul', 'vermelho', 'branco', 'amarelo')
$ cores -Contains 'Branco'

No trecho de código acima:

  • Primeiro, inicialize uma variável e atribua uma matriz contendo uma lista de cores.
  • Depois disso, escreva uma variável seguida pelo “-Contém”Operador e atribua o objeto colorido a ser encontrado:

Exemplo 2: use o “foreach-object” para verificar se a primeira matriz existe na segunda matriz ou não

Esta ilustração comparará duas matrizes e depois decidirá se a única matriz existe no segundo ou não:

$ cores1 = @('amarelo', 'violeta', 'verde', 'rosa')
$ cores2 = @('azul', 'violeta', 'preto', 'laranja')
$ cores1 | Foreach-object
if ($ colors2 -Contains $ _)
Write-host "'$ colors2 contém a string' $ colors1 [$ _]"

De acordo com o código acima mencionado:

  • Primeiro, inicialize duas variáveis ​​e atribua duas matrizes, respectivamente.
  • Depois disso, escreva a primeira matriz atribuída variável e adicione o “|”Oleoduto para passar a saída do comando anterior para o próximo.
  • Então, adicione o “Foreach-object”Cmdlet, seguido pelo“SeCondição contendo.
  • A condição "se" verificará se a segunda matriz contém a primeira matriz ou não.
  • Por fim, adicione o “Gravação-host”Cmdlet para exibir a string:

Isso se tratava de comparar matrizes em PowerShell.

Conclusão

As matrizes do PowerShell podem ser comparadas usando vários métodos ou cmdlets. Esses métodos incluem o uso do “-ContémOperador ou o “Compare-objeto”Cmdlet. Este post elaborou os vários procedimentos para comparar matrizes no PowerShell.