PowerShell Compare-Object Cmdlet

Hello mindenkinek

Köszöntöm a CloudAffaire-en, és itt Debjeet.

A legutóbbi blogbejegyzésben a Tee-Object cmdletet tárgyaltuk a PowerShellben.

PowerShell Tee-Object Cmdlet

Ebben a blogbejegyzésben a PowerShell Compare-Object cmdletről lesz szó. A Compare-Object cmdlet segítségével két objektumot hasonlíthat össze, ahol az egyik objektumkészlet a forrás vagy hivatkozás, a másik objektumkészlet pedig a cél vagy a különbség. A Compare-Object cmdlet megpróbálja összehasonlítani az objektumokat az objektumon talált összehasonlítási módszerek alapján. Ha nem talál összehasonlító objektumot, akkor karakterlánc-összehasonlítást végez az objektum karakterlánccá alakításával. Egy vagy több tulajdonságot is átadhat az összehasonlításhoz, a tulajdonságok átadása esetén az összehasonlítás csak ezek alapján történik.

Compare-Object cmdlet kimenete:

  • (<=): a tulajdonság értéke csak a referenciaobjektumban jelent meg
  • (=>): a tulajdonság értéke csak a különbségobjektumban jelent meg
  • (==): a tulajdonság értéke a referenciaobjektumban és a különbségobjektumban is megjelent

Megjegyzés: Ha a referencia- vagy a különbségobjektum null ($null), a Compare-Object befejező hibát generál.

Compare-Object Cmdlet szintaxis:

Shell

1
2
3
4

.

5
6
7
8
9
10
11

## Compare-Object
## <PSObject>
## <PSObject>
##
## >]
##

##
##
##
##
##
##

Compare-Object Cmdlet argumentumlistája:

  • -CaseSensitive:
  • -Culture: Megadja az összehasonlításokhoz használandó kultúrát.
  • -DifferenceObject: Megadja a referenciaobjektumokkal összehasonlított objektumokat.
  • -ExcludeDifferent: Megadja, hogy ez a cmdlet csak az összehasonlított objektumok azonos jellemzőit jelenítse meg. Az objektumok közötti különbségek elvetésre kerülnek.
  • -IncludeEqual: Az IncludeEqual megjeleníti a referencia- és a különbségobjektumok közötti egyezéseket.
  • -PassThru: A PassThru paraméter használatakor a Compare-Object elhagyja az összehasonlított objektumok körüli PSCustomObject burkolatot, és változatlanul visszaadja az eltérő objektumokat.
  • -Property: Megadja az összehasonlítandó referencia- és különböző objektumok tulajdonságainak tömbjét.
  • -ReferenceObject: Megadja az összehasonlításhoz referenciaként használt objektumok tömbjét.
  • -SyncWindow: Megadja a szomszédos objektumok számát, amelyeket a Compare-Object megvizsgál, miközben egyezést keres egy objektumgyűjteményben.

PowerShell Compare-Object Cmdlet:

Shell

1
2
3
4
5

.

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

##########################################
## PowerShell | Cmdlet | Összehasonlítás-Object ##
##########################################
## PowerShell Latest Version (5)
## deklaráljunk két tömböt string adattípussal
$a = “cat”, “patkány”, “kutya”, “ember”
$b = “alma”, “banán”, “kutya”, “mango”
## két objektum összehasonlítása a PowerShellben
Compare-Object -ReferenceObject $a -DifferenceObject $b
## két objektum összehasonlítása a PowerShellben nagy- és kisbetű-érzékenységgel
Compare-Object -ReferenceObject $a -DifferenceObject $b -CaseSensitive
## összehasonlít két objektumot a PowerShellben és megmutatja a különbséget és a hasonlóságot
Compare-Object -ReferenceObject $a -DifferenceObject $b -.IncludeEqual
## összehasonlít két objektumot a PowerShellben és megmutatja, mi a közös
Compare-Object -ReferenceObject $a -DifferenceObject $b -IncludeEqual -ExcludeDifferent
## összehasonlít két objektumot a PowerShellben egy adott objektumtulajdonság alapján
Compare-Object -ReferenceObject $a -DifferenceObject $b -Property length

Remélem, tetszett a cikk. A következő blogbejegyzésben az Add-Content cmdletet fogjuk tárgyalni a PowerShellben.

A PowerShell további részleteihez kérjük, kövesse az alábbi hivatalos dokumentációt

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about?view=powershell-5.1

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.