A InfoWiki wikiből
(→Példák) |
Aktuális változat (2009. június 24., 18:20) (lapforrás) (uploaded) |
||
(19 közbeeső változat nincs mutatva) | |||
1. sor: | 1. sor: | ||
+ | |||
+ | |||
=Select-Object= | =Select-Object= | ||
A Select-Object - tel megtekinthetjük egy parancs - cmdlet | A Select-Object - tel megtekinthetjük egy parancs - cmdlet | ||
(commandlet) - eredményeként létrejött objektum (vagy objektumok) | (commandlet) - eredményeként létrejött objektum (vagy objektumok) | ||
- | különböző tulajdonságait (property- | + | különböző tulajdonságait (property-jeit). (Egyszerűbben: milyen |
oszlopok látszódjanak) | oszlopok látszódjanak) | ||
18. sor: | 20. sor: | ||
A Select-Object hosszas leírása helyett használhatjuk a rövidebb, | A Select-Object hosszas leírása helyett használhatjuk a rövidebb, | ||
- | beépített aliast is: select | + | beépített aliast is, ami frappáns módon a következő: <i>select</i> |
==Példák== | ==Példák== | ||
- | A következő példában a -property azt mondja meg a Select-Object - nek, hogy most a | + | A következő példában a -property azt mondja meg a Select-Object - nek, hogy most a tulajdonság(ok) következnek ami(k) alapján mutasd az eredményt. Elhagyható. |
*<code lang=dos> | *<code lang=dos> | ||
37. sor: | 39. sor: | ||
*<code lang=dos> | *<code lang=dos> | ||
- | Get-ChildItem | Select- | + | Get-ChildItem | Select-Object -property Name, Length | Sort-Object Name |
</code> | </code> | ||
44. sor: | 46. sor: | ||
...ami rendezni fogja Name szerint ABC (növekvő) sorrendbe az elemeket. Beállíthattuk volna, hogy csökkenőben rendezze a -descending kapcsolóval, de erről bővebben a [[opr4:sort-object|Sort-Object]] - nél. | ...ami rendezni fogja Name szerint ABC (növekvő) sorrendbe az elemeket. Beállíthattuk volna, hogy csökkenőben rendezze a -descending kapcsolóval, de erről bővebben a [[opr4:sort-object|Sort-Object]] - nél. | ||
- | Íme egy példa arra, ha nem szeretnénk látni az összes sort hanem csak az első vagy utolsó 5 öt: | + | Íme egy példa arra, ha nem szeretnénk látni az összes sort hanem csak az első vagy utolsó 5 - öt: |
*<code lang=dos> | *<code lang=dos> | ||
- | Get-ChildItem | Select- | + | Get-ChildItem | Select-Object Name -first 5 | Sort-Object Name |
</code> | </code> | ||
+ | |||
+ | itt a -first helyett nyugodtan írhatunk -last - ot is. De vigyázzunk! A fenti példa először kiválasztja az első öt sort (rendezetlen) és csak utána sorrendezi őket. Szóval ha a név szerint rendezett első 3 állományunkat akarjuk látni akkor a | ||
+ | |||
+ | *<code lang=dos> | ||
+ | Get-ChildItem | Sort-Object Name | Select-Object Name -first 3 | ||
+ | </code> | ||
+ | |||
+ | parancsot kell kiadnunk, tehát először rendezzünk. | ||
---- | ---- | ||
<b>A Select-Object a [[opr4:sort-object|Sort-Object]] - tel és a | <b>A Select-Object a [[opr4:sort-object|Sort-Object]] - tel és a | ||
[[opr4:where-object|Where-Object]] - tel használható igazán jól.</b> | [[opr4:where-object|Where-Object]] - tel használható igazán jól.</b> | ||
+ | |||
+ | ==Egyéb== | ||
+ | |||
+ | A Select-Object arra is képes, hogy kiszűrje az ismétlődő bemeneteket, és belőlük csak egyet adjon vissza. Ez azt jelenti, hogy unique... | ||
+ | |||
+ | *<code lang=dos> | ||
+ | PS C:\> "alma", "banan", "alma", "fu", "fu" | Select-Object -unique | ||
+ | </code> | ||
+ | |||
+ | Ez annyit tesz, hogy kiírja egymás alá: alma banan fu | ||
+ | |||
+ | *<code lang=dos> | ||
+ | PS C:\> "a", "b", "c", "a", "b", 1, 2, 2, 3, 1, 4 | Select-Object -unique | ||
+ | </code> | ||
+ | |||
+ | És mint ahogy várt az eredmény: | ||
+ | |||
+ | [[Kép:Select_harmadik.PNG|Select-Object]] | ||
+ | |||
+ | Ezek így nem tűnhetnek túl értelmesnek, viszont ha egy másik parancs eredményeként létrejött objektumok között nem szeretnénk ismétlődést látni, úgy már lehet, hogy van értelme. | ||
+ | |||
+ | ==Forrás== | ||
+ | |||
+ | [http://technet.microsoft.com/en-us/library/bb978526.aspx Microsoft.Technet] | ||
+ | |||
+ | <p align="right"><i>Deme Istvan</i></p> |
Aktuális változat
Tartalomjegyzék |
Select-Object
A Select-Object - tel megtekinthetjük egy parancs - cmdlet (commandlet) - eredményeként létrejött objektum (vagy objektumok) különböző tulajdonságait (property-jeit). (Egyszerűbben: milyen oszlopok látszódjanak)
A Select-Object - et csak másik cmdlettel tudjuk használni, mivel kell, hogy legyen bemenő paramétere amin elvégzi a szelektálást.
Szintaktika
Select-Object [[-property] <Object[]>] [-excludeProperty <string[]>] [-expandProperty <string>] [-first <int>] [-last <int>] [-unique] [-inputObject <psobject>] [<CommonParameters>]
A Select-Object hosszas leírása helyett használhatjuk a rövidebb, beépített aliast is, ami frappáns módon a következő: select
Példák
A következő példában a -property azt mondja meg a Select-Object - nek, hogy most a tulajdonság(ok) következnek ami(k) alapján mutasd az eredményt. Elhagyható.
Get-ChildItem | Select-Object -property Name, Length
Kimenet:
Mint látható, a példán meghívom a Get-ChildItem cmdletet (aminek alapértelmezett esetben sok propertyje van - LastWriteTime, Mode, stb...), majd csővezeték (pipeline - "|" <--- ez a függőleges kis vonal) segítségével átadom az eredményt a Select-Object - nek.
Tovább fokozhatjuk az élvezeteket ha ezt az egészet még a Sort-Object - nek is átadjuk...
Get-ChildItem | Select-Object -property Name, Length | Sort-Object Name
...ami rendezni fogja Name szerint ABC (növekvő) sorrendbe az elemeket. Beállíthattuk volna, hogy csökkenőben rendezze a -descending kapcsolóval, de erről bővebben a Sort-Object - nél.
Íme egy példa arra, ha nem szeretnénk látni az összes sort hanem csak az első vagy utolsó 5 - öt:
Get-ChildItem | Select-Object Name -first 5 | Sort-Object Name
itt a -first helyett nyugodtan írhatunk -last - ot is. De vigyázzunk! A fenti példa először kiválasztja az első öt sort (rendezetlen) és csak utána sorrendezi őket. Szóval ha a név szerint rendezett első 3 állományunkat akarjuk látni akkor a
Get-ChildItem | Sort-Object Name | Select-Object Name -first 3
parancsot kell kiadnunk, tehát először rendezzünk.
A Select-Object a Sort-Object - tel és a Where-Object - tel használható igazán jól.
Egyéb
A Select-Object arra is képes, hogy kiszűrje az ismétlődő bemeneteket, és belőlük csak egyet adjon vissza. Ez azt jelenti, hogy unique...
PS C:\> "alma", "banan", "alma", "fu", "fu" | Select-Object -unique
Ez annyit tesz, hogy kiírja egymás alá: alma banan fu
PS C:\> "a", "b", "c", "a", "b", 1, 2, 2, 3, 1, 4 | Select-Object -unique
És mint ahogy várt az eredmény:
Ezek így nem tűnhetnek túl értelmesnek, viszont ha egy másik parancs eredményeként létrejött objektumok között nem szeretnénk ismétlődést látni, úgy már lehet, hogy van értelme.
Forrás
Deme Istvan