Select-String
Sztringekben és fájlokban lévő szöveget keres.
Syntax
File (Alapértelmezett)
Select-String
[-Pattern] <String[]>
[-Path] <String[]>
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-Include <String[]>]
[-Exclude <String[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <String>]
[-Context <Int32[]>]
[<CommonParameters>]
Object
Select-String
[-Pattern] <String[]>
-InputObject <PSObject>
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-Include <String[]>]
[-Exclude <String[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <String>]
[-Context <Int32[]>]
[<CommonParameters>]
LiteralFile
Select-String
[-Pattern] <String[]>
-LiteralPath <String[]>
[-SimpleMatch]
[-CaseSensitive]
[-Quiet]
[-List]
[-Include <String[]>]
[-Exclude <String[]>]
[-NotMatch]
[-AllMatches]
[-Encoding <String>]
[-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:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:2: about_ActivityCommonParameters
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:31: see about_WorkflowCommonParameters.
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:33: about_CommonParameters.
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:1186:Cmdlet Get-CmsMessage 3.0.0.0 Microsoft.PowerShell.Security
Command.txt:1187:Cmdlet Get-Command 3.0.0.0 Microsoft.PowerShell.Core
> Command.txt:1188:Cmdlet Get-ComputerInfo 3.1.0.0 Microsoft.PowerShell.Management
> Command.txt:1189:Cmdlet Get-ComputerRestorePoint 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:1190:Cmdlet Get-Content 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:1191:Cmdlet Get-ControlPanelItem 3.1.0.0 Microsoft.PowerShell.Management
Command.txt:1192:Cmdlet Get-Counter 3.0.0.0 Microsoft.PowerShell.Diagnostics
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:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:5: Describes the parameters that Windows PowerShell
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:9: Windows PowerShell Workflow adds the activity common
$A.Matches
Groups : {0}
Success : True
Name : 0
Captures : {0}
Index : 4
Length : 10
Value : PowerShell
$A.Matches.Length
2073
$B = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell' -AllMatches
$B.Matches.Length
2200
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 |
-Encoding
Megadja a célfájl kódolási típusát. Az alapértelmezett érték a default.
A paraméter elfogadható értékei a következők:
-
asciiASCII (7 bites) karakterkészletet használ. -
bigendianunicodeUTF-16-ot használ a big-endian (nagytól kicsi felé) bájtsorrenddel. -
defaultA rendszer aktív kódlapjának (általában ANSI) megfelelő kódolást használja. -
oemA rendszer aktuális OEM-kódlapjának megfelelő kódolást használja. -
unicodeUTF-16-ot használ a kis végű bájtsorrenddel. -
utf7UTF-7-et használ. -
utf8UTF-8-at használ. -
utf32UTF-32-t használ a kis végű bájtsorrenddel.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | Default |
| Elfogadott értékek: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, 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.
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 |
-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 |
Paraméterkészletek
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 |
-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 |
-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
(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 |
-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.
Jegyzetek
A Windows PowerShell a Select-Stringkövetkező aliasait tartalmazza:
sls
Select-String hasonló a Unix vagy a Windows grepfindstr.exe.
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 *