Select-String
Sztringekben és fájlokban lévő szöveget keres.
Syntax
File (Alapértelmezett)
Select-String
[-Pattern] <String[]>
[-Path] <String[]>
[-Culture <String>]
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-NoEmphasis]
[-Include <String[]>]
[-Exclude <String[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <Encoding>]
[-Context <Int32[]>]
[<CommonParameters>]
ObjectRaw
Select-String
[-Pattern] <String[]>
-InputObject <PSObject>
-Raw
[-Culture <String>]
[-SimpleMatch]
[-CaseSensitive]
[-List]
[-NoEmphasis]
[-Include <String[]>]
[-Exclude <String[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <Encoding>]
[-Context <Int32[]>]
[<CommonParameters>]
Object
Select-String
[-Pattern] <String[]>
-InputObject <PSObject>
[-Culture <String>]
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-NoEmphasis]
[-Include <String[]>]
[-Exclude <String[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <Encoding>]
[-Context <Int32[]>]
[<CommonParameters>]
FileRaw
Select-String
[-Pattern] <String[]>
[-Path] <String[]>
-Raw
[-Culture <String>]
[-SimpleMatch]
[-CaseSensitive]
[-List]
[-NoEmphasis]
[-Include <String[]>]
[-Exclude <String[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <Encoding>]
[-Context <Int32[]>]
[<CommonParameters>]
LiteralFileRaw
Select-String
[-Pattern] <String[]>
-LiteralPath <String[]>
-Raw
[-Culture <String>]
[-SimpleMatch]
[-CaseSensitive]
[-List]
[-NoEmphasis]
[-Include <String[]>]
[-Exclude <String[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <Encoding>]
[-Context <Int32[]>]
[<CommonParameters>]
LiteralFile
Select-String
[-Pattern] <String[]>
-LiteralPath <String[]>
[-Culture <String>]
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-NoEmphasis]
[-Include <String[]>]
[-Exclude <String[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <Encoding>]
[-Context <Int32[]>]
[<CommonParameters>]
Description
A Select-String parancsmag normál kifejezésmegfeleltetés használatával keres szövegmintákat bemeneti sztringekben és fájlokban. A Unix vagy a Windows Select-Stringgrepfindstr.exe is használhatja.
Select-String szövegsorokon alapul. Alapértelmezés szerint Select-String megkeresi az első egyezést az egyes sorokban, és minden egyezésnél megjeleníti az egyezést tartalmazó sor fájlnevét, sorszámát és összes szövegét. A Select-String beállíthatja, hogy soronként több egyezést találjon, szöveget jelenítsen meg az egyezés előtt és után, vagy megjelenítsen egy logikai értéket (igaz vagy hamis), amely jelzi, hogy található-e egyezés.
Select-String megjelenítheti az összes szövegegyezést, vagy leállíthatja az első egyezést az egyes bemeneti fájlokban.
Select-String az összes olyan szöveg megjelenítésére használható, amely nem felel meg a megadott mintának.
Azt is megadhatja, hogy a Select-String egy adott karakterkódolásra számítson, például amikor Unicode-szövegfájlokat keres.
Select-String a byte-order-mark (BOM) használatával észleli a fájl kódolási formátumát. Ha a fájl nem rendelkezik BOM-lal, feltételezi, hogy a kódolás UTF8.
Példák
1. példa: Kis- és nagybetűk megkülönböztetése
Ez a példa a folyamaton keresztül a Select-String parancsmagnak küldött szöveg kis- és nagybetűkre érzékeny egyezését tartalmazza.
'Hello', 'HELLO' | Select-String -Pattern 'HELLO' -CaseSensitive -SimpleMatch
A rendszer a hello és HELLO szöveges sztringeket elküldi a folyamaton a Select-String parancsmagnak.
Select-String a Minta paraméter használatával adja meg HELLO. A CaseSensitive paraméter azt határozza meg, hogy az esetnek csak a nagybetűs mintával kell egyeznie.
SimpleMatch nem kötelező paraméter, és azt határozza meg, hogy a minta sztringje ne legyen normál kifejezésként értelmezve.
Select-String
HELLO jelenít meg a PowerShell-konzolon.
2. példa: Találatok keresése szövegfájlokban
Ez a parancs az aktuális könyvtárban található .txt fájlnévkiterjesztéssel rendelkező összes fájlt megkeresi. A kimenet megjeleníti a megadott sztringet tartalmazó fájlok sorait.
Get-Alias | Out-File -FilePath .\Alias.txt
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\*.txt -Pattern 'Get-'
Alias.txt:8:Alias cat -> Get-Content
Alias.txt:28:Alias dir -> Get-ChildItem
Alias.txt:43:Alias gal -> Get-Alias
Command.txt:966:Cmdlet Get-Acl
Command.txt:967:Cmdlet Get-Alias
Ebben a példában Get-Alias és Get-Command a Out-File parancsmaggal két szövegfájlt hoz létre az aktuális könyvtárban, Alias.txt és Command.txt.
Select-String a Path paramétert használja a csillag (*) helyettesítő karakterrel az aktuális könyvtárban lévő összes fájlban a .txtfájlnévkiterjesztéssel. A Minta paraméter a Get- egyező szöveget adja meg.
Select-String megjeleníti a kimenetet a PowerShell-konzolon. A fájlnév és a sorszám megelőzi a Minta paraméterrel egyező tartalomsorokat.
3. példa: Mintaegyezés keresése
Ebben a példában a rendszer több fájlt keres a megadott minta egyezéseinek kereséséhez. A minta egy reguláris kifejezéskvantálót használ. További információ: about_Regular_Expressions.
Select-String -Path "$PSHOME\en-US\*.txt" -Pattern '\?'
C:\Program Files\PowerShell\6\en-US\default.help.txt:27: beginning at https://go.microsoft.com/fwlink/?LinkID=108518.
C:\Program Files\PowerShell\6\en-US\default.help.txt:50: or go to: https://go.microsoft.com/fwlink/?LinkID=210614
A Select-String parancsmag két paramétert használ, Elérési út és Minta. A Path paraméter a PowerShell-címtárat meghatározó $PSHOME változót használja. Az elérési út fennmaradó része tartalmazza az alkönyvtárat en-US, és meghatározza a könyvtárban lévő összes *.txt fájlt. A Minta paraméter az egyes fájlokban szereplő kérdőjelnek (?) felel meg. A fordított perjel (\) feloldó karakterként használatos, és azért szükséges, mert a kérdőjel (?) egy reguláris kifejezéskvantáló.
Select-String megjeleníti a kimenetet a PowerShell-konzolon. A fájlnév és a sorszám megelőzi a Minta paraméterrel egyező tartalomsorokat.
4. példa: Select-String használata függvényben
Ez a példa létrehoz egy függvényt, amely mintát keres a PowerShell súgófájljaiban. Ebben a példában a függvény csak a PowerShell-munkamenetben létezik. A PowerShell-munkamenet bezárásakor a függvény törlődik. További információ: about_Functions.
function Search-Help
{
$PSHelp = "$PSHOME\en-US\*.txt"
Select-String -Path $PSHelp -Pattern 'About_'
}
Search-Help
C:\Program Files\PowerShell\7\en-US\default.help.txt:67: The titles of conceptual topics begin with "About_".
C:\Program Files\PowerShell\7\en-US\default.help.txt:70: Get-Help About_<topic-name>
C:\Program Files\PowerShell\7\en-US\default.help.txt:93: Get-Help About_Modules : Displays help about PowerShell modules.
C:\Program Files\PowerShell\7\en-US\default.help.txt:97: about_Updatable_Help
A függvény a PowerShell parancssorában jön létre. A function kulcsszó a Search-Helpnevet használja. Nyomja le Enter billentyűkombinációt a függvényhez való hozzáadás megkezdéséhez. A >> parancssorból adja hozzá az egyes utasításokat, és nyomja le Írja be a példában látható módon. A záró zárójel hozzáadása után a rendszer visszalép egy PowerShell-parancssorba.
A függvény két parancsot tartalmaz. A $PSHelp változó tárolja a PowerShell súgófájljainak elérési útját.
$PSHOME a PowerShell telepítési könyvtára, amelynek alkönyvtára en-US, amely meghatározza a könyvtárban lévő összes *.txt fájlt.
A függvény Select-String parancsa a Elérési út és Minta paramétereket használja. A Elérési út paraméter a $PSHelp változót használja az elérési út lekéréséhez. A Minta paraméter keresési feltételként a About_ sztringet használja.
A függvény futtatásához írja be a Search-Help. A függvény Select-String parancsa megjeleníti a kimenetet a PowerShell-konzolon.
5. példa: Sztring keresése Windows-eseménynaplóban
Ez a példa egy sztringet keres egy Windows-eseménynaplóban. A $_ változó a folyamat aktuális objektumát jelöli. További információért tekintse meg az *about_Automatic_Variables* témakört a éscímkék alatt.
$Events = Get-WinEvent -LogName Application -MaxEvents 50
$Events | Select-String -InputObject {$_.Message} -Pattern 'Failed'
A Get-WinEvent parancsmag a LogName paramétert használja az alkalmazásnapló megadásához. A MaxEvents paraméter lekéri az 50 legutóbbi eseményt a naplóból. A naplótartalmat a rendszer a $Eventsnevű változóban tárolja.
A $Events változót a rendszer elküldi a folyamatnak a Select-String parancsmagnak.
Select-String az InputObject paramétert használja. A $_ változó az aktuális objektumot jelöli, Message pedig az esemény tulajdonsága. A Minta paraméter megadja a sikertelen sztringet, és egyezéseket keres a $_.Message.
Select-String megjeleníti a kimenetet a PowerShell-konzolon.
6. példa: Sztring keresése alkönyvtárakban
Ez a példa egy könyvtárban és annak összes alkönyvtárában keres egy adott szöveges sztringet.
Get-ChildItem -Path C:\Windows\System32\*.txt -Recurse |
Select-String -Pattern 'Microsoft' -CaseSensitive
Get-ChildItem a Path paramétert használja C:\Windows\System32*.txtmegadásához. A Recurse paraméter tartalmazza az alkönyvtárakat. Az objektumokat le fogják küldeni a csővezetéken a Select-String-ba.
Select-String a Minta paramétert használja, és megadja a Microsoft sztringet. A CaseSensitive paraméter a sztring pontos esetének felel meg.
Select-String megjeleníti a kimenetet a PowerShell-konzolon.
Megjegyzés:
Az engedélyektől függően előfordulhat, hogy Hozzáférés megtagadva üzeneteket a kimenetben.
7. példa: Nem egyező sztringek keresése
Ez a példa bemutatja, hogyan zárhat ki olyan adatsorokat, amelyek nem egyeznek a mintával.
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get', 'Set' -NotMatch
A Get-Command parancsmag objektumokat küld a folyamaton keresztül a Out-File, hogy létrehozza a Command.txt fájlt az aktuális könyvtárban.
Select-String a Command.txt fájl megadásához a Path paramétert használja. A Minta paraméter keresési mintaként lekérése és beállítása. A NotMatch paraméter kizárja lekérése és beállítása az eredmények közül.
Select-String megjeleníti a kimenetet a PowerShell-konzolon, amely nem tartalmazza Get vagy Set.
8. példa: Egyezés előtti és utáni sorok keresése
Ez a példa bemutatja, hogyan szerezheti be a sorokat a megfeleltethető minta előtt és után.
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get-Computer' -Context 2, 3
Command.txt:986:Cmdlet Get-CmsMessage 6.1.0.0 Microsoft.PowerShell.Security
Command.txt:987:Cmdlet Get-Command 6.1.2.0 Microsoft.PowerShell.Core
> Command.txt:988:Cmdlet Get-ComputerInfo 6.1.0.0 Microsoft.PowerShell.Management
Command.txt:990:Cmdlet Get-Content 6.1.0.0 Microsoft.PowerShell.Management
Command.txt:991:Cmdlet Get-ControlPanelItem 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:992:Cmdlet Get-Credential 6.1.0.0 Microsoft.PowerShell.Security
A Get-Command parancsmag objektumokat küld a folyamaton keresztül a Out-File, hogy létrehozza a Command.txt fájlt az aktuális könyvtárban.
Select-String a Command.txt fájl megadásához a Path paramétert használja. A Minta paraméter keresési mintaként Get-Computer ad meg. A Környezeti paraméter két értéket használ, előtte és utána, és a minta egy szögletes zárójelet (>) használ a kimenetben. A Környezeti paraméter az első mintaegyezés előtti két sort, az utolsó mintaegyezés után pedig három sort ad ki.
9. példa: Az összes minta egyezésének megkeresése
Ez a példa bemutatja, hogy az AllMatches paraméter hogyan találja meg az egyes mintákat egy szövegsoron belül. Alapértelmezés szerint Select-String csak a minta első előfordulását találja meg egy szövegsorban. Ez a példa az Get-Member parancsmaggal található objektumtulajdonságokat használja.
$A = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell'
$A
C:\Program Files\PowerShell\7\en-US\default.help.txt:3: PowerShell Help System
C:\Program Files\PowerShell\7\en-US\default.help.txt:6: Displays help about PowerShell cmdlets and concepts.
C:\Program Files\PowerShell\7\en-US\default.help.txt:9: PowerShell Help describes PowerShell cmdlets
$A.Matches
Groups : {0}
Success : True
Name : 0
Captures : {0}
Index : 4
Length : 10
Value : PowerShell
$A.Matches.Length
8
$B = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell' -AllMatches
$B.Matches.Length
9
A Get-ChildItem parancsmag a Path paramétert használja. A Path paraméter a PowerShell-címtárat meghatározó $PSHOME változót használja. Az elérési út fennmaradó része tartalmazza az alkönyvtárat en-US, és meghatározza a könyvtárban lévő összes *.txt fájlt. A Get-ChildItem objektumokat a $A változó tárolja. A $A változót a rendszer elküldi a folyamatnak a Select-String parancsmagnak.
Select-String a Minta paraméterrel keres minden fájlt a PowerShell-sztringben.
A PowerShell parancssorában megjelenik a $A változó tartalma. Van egy sor, amely a PowerShell-sztring két előfordulását tartalmazza.
A $A.Matches tulajdonság felsorolja a minta első előfordulását PowerShell- minden sorban.
A $A.Matches.Length tulajdonság megszámolja a minta első előfordulását PowerShell- minden sorban.
A $B változó ugyanazokat a Get-ChildItem és Select-String parancsmagokat használja, de hozzáadja az AllMatches paramétert.
AllMatches minden sorban megkeresi a PowerShell- minta minden előfordulását. A $A és $B változókban tárolt objektumok azonosak.
A $B.Matches.Length tulajdonság azért nő, mert minden sornál a minta minden előfordulását meg kell számolnia a PowerShell-.
10. példa – Folyamatobjektumok konvertálása sztringekké "Out-String" használatával
A vezetékes objektum ToString() eredménye nem ugyanaz, mint a PowerShell formázási rendszere által létrehozott gazdag sztring-ábrázolás. Ezért előfordulhat, hogy először az objektumokat a Out-String kell becsúsznia.
A piping to Out-String a formázott kimenetet egyetlen többsoros sztringobjektummá alakítja. Ez azt jelenti, hogy ha Select-String talál egyezést, az a teljes többsoros sztringet adja ki.
PS> $hash = @{
Name = 'foo'
Category = 'bar'
}
# !! NO output, due to .ToString() conversion
$hash | Select-String -Pattern 'foo'
# Out-String converts the output to a single multi-line string object
PS> $hash | Out-String | Select-String -Pattern 'foo'
Name Value
---- -----
Name foo
Category bar
# Out-String -Stream converts the output to a multiple single-line string objects
PS> $hash | Out-String -Stream | Select-String -Pattern 'foo'
Name foo
A piping to Out-String -Stream a formázott kimenetet több egysoros sztringobjektummá alakítja. Ez azt jelenti, hogy ha Select-String talál egyezést, az csak az egyező sort adja ki.
Paraméterek
-AllMatches
Azt jelzi, hogy a parancsmag egynél több egyezést keres az egyes szövegsorokban. E paraméter nélkül Select-String csak az első egyezést találja meg az egyes szövegsorokban.
Ha Select-String több egyezést talál egy szövegsorban, akkor is csak egy MatchInfo objektumot bocsát ki a sorhoz, de az objektum Egyezések tulajdonsága tartalmazza az összes egyezést.
Megjegyzés:
Ezt a paramétert a rendszer figyelmen kívül hagyja, ha a SimpleMatch paraméterrel együtt használja. Ha az összes egyezést és a keresett mintát normál kifejezéskarakterekből szeretné visszaadni, ezeket a karaktereket nem SimpleMatchkell használnia. A reguláris kifejezésekről további információt a about_Regular_Expressions talál.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-CaseSensitive
Azt jelzi, hogy a parancsmag-egyezések megkülönböztetik a kis- és nagybetűket. Alapértelmezés szerint az egyezések nem érzékenyek a kis- és nagybetűkre.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Context
A mintázatnak megfelelő vonal előtt és után megadott számú sort rögzíti.
Ha a paraméter értékeként egy számot ad meg, az a szám határozza meg az egyezés előtt és után rögzített sorok számát. Ha két számot ad meg értékként, az első szám határozza meg az egyezés előtti sorok számát, a második szám pedig az egyezés utáni sorok számát. Például: -Context 2,3.
Az alapértelmezett megjelenítésben az egyező vonalakat a kijelző első oszlopában egy szögletes zárójel (>) (ASCII 62) jelöli. A jelöletlen vonalak a környezet.
A Környezeti paraméter nem módosítja a Select-Stringáltal létrehozott objektumok számát.
Select-String minden egyezéshez létrehoz egy MatchInfo objektumot. A környezet sztringtömbként van tárolva az objektum Környezeti tulajdonságában.
Amikor egy Select-String parancs kimenetét egy másik Select-String parancsnak küldi le a folyamaton, a fogadó parancs csak a megfelelő sor szövegében keres. A megfeleltetett sor a MatchInfo objektum Sor tulajdonságának értéke, nem pedig a környezet soraiban lévő szöveg. Emiatt a Környezeti paraméter nem érvényes a fogadó Select-String parancsra.
Ha a környezet tartalmaz egyezést, az egyes egyezések MatchInfo objektum az összes környezeti sort tartalmazza, de az átfedésben lévő vonalak csak egyszer jelennek meg a megjelenítésben.
Paramétertulajdonságok
| Típus: | Int32[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Culture
A megadott mintának megfelelő kulturális nevet ad meg. A Culture paramétert a SimpleMatch paraméterrel kell használni. Az alapértelmezett viselkedés az aktuális PowerShell-futtatótér (munkamenet) kultúráját használja.
Az összes támogatott kultúra listájának lekéréséhez használja Get-Culture -ListAvailable parancsot.
Emellett ez a paraméter a következő argumentumokat fogadja el:
- CurrentCulture, ez az alapértelmezett;
- Ordinal, azaz nem nyelvi bináris összehasonlítás;
- Invariáns, ez a kultúrafüggetlen összehasonlítás.
A Select-String -Culture Ordinal -CaseSensitive -SimpleMatch paranccsal a leggyorsabb bináris összehasonlítást kapja.
A Kulturális paraméter lapkiegészítéssel görgeti végig az elérhető kultúrákat meghatározó argumentumok listáját. Az összes elérhető argumentum listázásához használja a következő parancsot:
(Get-Command Select-String).Parameters.Culture.Attributes.ValidValues
A .NET CultureInfo.Name tulajdonságról további információt a CultureInfo.Namecímű témakörben talál.
A Culture paraméter a PowerShell 7-ben lett bevezetve.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | Culture of the current PowerShell session |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Encoding
Megadja a célfájl kódolási típusát. Az alapértelmezett érték a utf8NoBOM.
A paraméter elfogadható értékei a következők:
-
ascii: Az ASCII (7 bites) karakterkészlet kódolását használja. -
ansi: Az aktuális kultúra ANSI-kódlapjának kódolását használja. Ez a beállítás a PowerShell 7.4-ben lett hozzáadva. -
bigendianunicode: Az UTF-16 formátumú kódolást a big-endian bájtsorrend alkalmazásával végzi. -
bigendianutf32: UTF-32 formátumban kódol nagyvégű bájtsorrend használatával. -
oem: Az alapértelmezett kódolást használja MS-DOS és konzolprogramokhoz. -
unicode: Az UTF-16 formátumban kódol kis végű bájtsorrend használatával. -
utf7: UTF-7 formátumban kódol. -
utf8: UTF-8 formátumban kódol. -
utf8BOM: UTF-8 formátumban kódolódik bájt sorrendi jel (BOM) használatával -
utf8NoBOM: UTF-8 formátumban kódol byte order mark (BOM) nélkül -
utf32: UTF-32 formátumban kódol.
A PowerShell 6.2-től kezdődően a Kódolás paraméter lehetővé teszi a regisztrált kódlapok (például -Encoding 1251) numerikus azonosítóit vagy a regisztrált kódlapok sztringneveit (például -Encoding "windows-1251"). További információt a Encoding.CodePage.NET-dokumentációjában talál.
A PowerShell 7.4-től kezdve a Ansi paraméter értékével anélkül adhat meg numerikus azonosítót az aktuális kultúra ANSI-kódlapjához, hogy manuálisan kellene megadnia.
Megjegyzés:
UTF-7* már nem ajánlott. PowerShell 7.1-től kezdve figyelmeztetés jelenik meg, ha utf7-et ad meg a kódolás paraméterhez.
Paramétertulajdonságok
| Típus: | Encoding |
| Alapértelmezett érték: | UTF8NoBOM |
| Elfogadott értékek: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Exclude
Zárja ki a megadott elemeket. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például *.txt. Helyettesítő karakterek használata engedélyezett.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Include
Tartalmazza a megadott elemeket. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például *.txt. Helyettesítő karakterek használata engedélyezett.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-InputObject
Megadja a keresendő szöveget. Írjon be egy szöveget tartalmazó változót, vagy írjon be egy parancsot vagy kifejezést, amely beolvasja a szöveget.
Az InputObject paraméter használata nem ugyanaz, mint a sztringek küldése a folyamaton Select-String.
Ha egynél több sztringet csövez a Select-String parancsmagba, az minden sztringben megkeresi a megadott szöveget, és visszaadja a keresési szöveget tartalmazó sztringeket.
Ha a InputObject paraméterrel küldi el a sztringek gyűjteményét, Select-String a gyűjteményt egyetlen kombinált sztringként kezeli.
Select-String a sztringeket egységként adja vissza, ha bármilyen sztringben megtalálja a keresett szöveget.
FileInfo objektumokat egy fájl elérési útjaként kezeli a rendszer. Ha meg vannak adva a fájl elérési útjai, Select-String a fájl tartalmát keresi, nem az objektum ToString() ábrázolását.
Paramétertulajdonságok
| Típus: | PSObject |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
Object
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
ObjectRaw
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-List
Minden bemeneti fájlból csak az egyező szöveg első példánya lesz visszaadva. Ez a leghatékonyabb módja annak, hogy lekérje azoknak a fájloknak a listáját, amelyek tartalma megegyezik a normál kifejezéssel.
Alapértelmezés szerint a Select-String egy MatchInfo objektumot ad vissza minden megtalált egyezéshez.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-LiteralPath
Megadja a keresendő fájlok elérési útját. A LiteralPath paraméter értéke pontosan a beírt módon lesz használva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési útvonal escape karaktereket tartalmaz, tedd azt egyes idézőjelek közé. Az egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként. További információk az about_Quoting_Rules oldalon találhatók: .
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | PSPath, LP |
Paraméterkészletek
LiteralFileRaw
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
LiteralFile
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-NoEmphasis
Alapértelmezés szerint Select-String kiemeli azt a sztringet, amely megfelel a Minta paraméterrel keresett mintának. A NoEmphasis paraméter letiltja a kiemelést.
A hangsúly negatív színeket használ a PowerShell-háttér és a szövegszínek alapján. Ha például a PowerShell-színek fekete háttérrel és fehér szöveggel vannak elkönyvelve. A hangsúly fehér háttér, fekete szöveggel.
Ez a paraméter a PowerShell 7-ben lett bevezetve.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-NotMatch
A NotMatch paraméter olyan szöveget keres, amely nem felel meg a megadott mintának.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Path
Megadja a keresendő fájlok elérési útját. Helyettesítő karakterek használata engedélyezett. Az alapértelmezett hely a helyi könyvtár.
Adja meg a könyvtárban lévő fájlokat, például log1.txt, *.docvagy *.*. Ha csak egy könyvtárat ad meg, a parancs meghiúsul.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | Local directory |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
File
| Position: | 1 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
FileRaw
| Position: | 1 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-Pattern
Meghatározza az egyes sorokban keresendő szöveget. A mintaértéket a rendszer normál kifejezésként kezeli.
A reguláris kifejezésekről a about_Regular_Expressionscímű témakörben olvashat.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Quiet
Azt jelzi, hogy a parancsmag egy egyszerű választ ad vissza MatchInfo objektum helyett. A visszaadott érték $true, ha a minta megtalálható, vagy $null, ha a minta nem található.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
File
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
Object
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
LiteralFile
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Raw
A parancsmag csak a megfelelő sztringeket adja ki, nem pedig MatchInfo objektumokat. Ez a viselkedés leginkább a Unix grep vagy a Windows findstr.exe parancsokhoz hasonlít.
Ez a paraméter a PowerShell 7-ben lett bevezetve.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ObjectRaw
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
FileRaw
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
LiteralFileRaw
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-SimpleMatch
Azt jelzi, hogy a parancsmag egyszerű egyezést használ a normál kifejezésegyezés helyett. Egy egyszerű egyezésben Select-String megkeresi a Minta paraméter szövegét. Nem értelmezi a Minta paraméter értékét normál kifejezési utasításként.
Emellett SimpleMatch használatakor a visszaadott MatchInfo objektum Egyezések tulajdonsága üres.
Megjegyzés:
Ha ezt a paramétert az AllMatches paraméterrel használja, a AllMatches figyelmen kívül hagyja.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
PSObject
A parancsmaghoz bármely olyan objektumot csövezhet, amely rendelkezik ToString() metódussal.
Kimenetek
MatchInfo
Ez a parancsmag alapértelmezés szerint egy MatchInfo objektumot ad vissza minden talált egyezéshez.
Boolean
A Quiet paraméter használatakor ez a parancsmag egy logikai értéket ad vissza, amely jelzi, hogy a minta megtalálható-e.
String
A Nyers paraméter használatakor ez a parancsmag sztring objektumkészletet ad vissza, amelyek megfelelnek a mintának.
Jegyzetek
A PowerShell a következő aliasokat tartalmazza Select-String:
- Minden platform:
sls
Select-String hasonló a Unix vagy a Windows grepfindstr.exe.
A sls parancsmag Select-String aliasa a PowerShell 3.0-ban lett bevezetve.
Megjegyzés:
A PowerShell-parancsokhoz jóváhagyottszerint az Select-* parancsmagok hivatalos aliaselőtagja sc, nem pedig sl. Ezért a Select-String megfelelő aliasának scskell lennie , nem pedig sls. Ez kivétel a szabály alól.
Objektumok Select-Stringvaló pipálásakor:
-
FileInfo objektumokat egy fájl elérési útjaként kezeli a rendszer. Ha meg vannak adva a fájl elérési útjai,
Select-Stringa fájl tartalmát keresi, nem az objektumToString()ábrázolását. - A vezetékes objektum
ToString()eredménye nem ugyanaz, mint a PowerShell formázási rendszere által létrehozott gazdag sztring-ábrázolás. Ezért előfordulhat, hogy először az objektumokat aOut-Stringkell becsúsznia. További információ: 10. példa.
A Select-Stringhasználatához írja be a keresett szöveget a Minta paraméter értékeként. A keresendő szöveg megadásához használja a következő feltételeket:
- Írja be a szöveget egy idézett sztringbe, majd a
Select-String. - Tároljon egy szöveges sztringet egy változóban, majd adja meg a változót az InputObject paraméter értékeként.
- Ha a szöveg fájlokban van tárolva, a Elérési út paraméter használatával adja meg a fájlok elérési útját.
Alapértelmezés szerint Select-String a Minta paraméter értékét normál kifejezésként értelmezi. További információ: about_Regular_Expressions. A SimpleMatch paraméter használatával felülbírálhatja a reguláris kifejezésegyezést. A SimpleMatch paraméter megkeresi a Minta paraméter értékének példányait a bemenetben.
A Select-String alapértelmezett kimenete egy MatchInfo objektum, amely részletes információkat tartalmaz a találatokról. Az objektum információi akkor hasznosak, ha fájlban keres szöveget, mert MatchInfo objektumok olyan tulajdonságokkal rendelkeznek, mint Fájlnév és Sor. Ha a bemenet nem a fájlból származik, ezeknek a paramétereknek az értéke InputStream.
Ha nincs szüksége az MatchInfo objektum információira, használja a Quiet paramétert. A Quiet paraméter logikai értéket ad vissza (Igaz vagy Hamis), amely jelzi, hogy talált-e egyezést MatchInfo objektum helyett.
A kifejezések egyeztetésekor Select-String a rendszerhez beállított aktuális kultúrát használja. Az aktuális kultúra megkereséséhez használja a Get-Culture parancsmagot.
Egy MatchInfo objektum tulajdonságainak megkereséséhez írja be a következő parancsot:
Select-String -Path test.txt -Pattern 'test' | Get-Member | Format-List -Property *