PowerShell Select-String Cmdlet

PowerShell Select-String Cmdlet
Select-String er en cmdlet som støttes av PowerShell for å velge en tekst/mønster i en streng. Select-String blir også referert til som GREP-ekvivalenten, der GREP er en UNIX-basert kommando for å søke etter mønstre. Med denne kommandoen kan du søke i alle tilgjengelige kamper eller kan også legge til en grense for kampene ved å bruke listen over parametere støttet av den.

Dette innlegget tar sikte på å utforske den primære og avanserte bruken av PowerShell Select-String Cmdlet.

Hvordan bruke PowerShell Select-String Cmdlet

I PowerShell kan den valgte streng-cmdleten brukes til å søke etter et enkelt mønster eller flere mønstre i filen eller strengen. Følgende syntaks brukes til å henvise til valg av Cmdlet:

SELECT-STRING

Følgende parametere kan brukes med den valgte streng-cmdlet:

  • Mønster: Identifiserer teksten som skal velges i filen.
  • Sti: Refererer til banen til filen.
  • Tilfellers følsomme: Brukes til å matche vilkårene ved å matche brevsaken.
  • NotMatch: Brukes for å få resultatet som ikke inneholder det spesifiserte teksten \ mønster.
  • Allmatches: Angir å finne mer enn en kamp i hver linje i filen.

Eksempel 1: For å velge det spesifikke mønsteret (tekst) i en fil

Prøvekoden er som følger for å velge mønsteret (i.e., tekst/streng) i “Prøve100.CSV”Fil. For det første den absolutte banen til “Prøve100.CSV”Er gitt etter“-Sti" parameter. Etterpå mønsteret “merke”Settes ved hjelp av parameteren”-Mønster”:

SELECT -STRING -PATH "C: \ Brukere \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Mark "

Mønsteret var “merke”Og det observeres at valgstrengen har skrevet ut linjen (sammen med linjenummeret) som inneholder“merke" i det.

Eksempel 2: For å velge flere mønstre (tekst) i en fil

Du kan velge eller finne flere mønstre i filen. For å gjøre det blir teksten som skal søkes gitt etter “-Mønster" parameter. Følgende kommando søker etter "merke”Og“Peter”Nøkkelord i“Prøve.CSV”Fil:

SELECT -STRING -PATH "C: \ Brukere \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Mark "," Peter "

Som du ser, skrives disse linjene som inneholder enten Mark eller Peter.

Eksempel 3: For å velge bare begrensede poster over spesifiserte mønstre (tekst) i en fil

Den valgte streng-cmdlet kan brukes til å søke etter det spesifikke mønsteret i en fil, men bare det begrensede antallet forekomster vil bli søkt på. I eksemplet på gitt below, ".CSV”Fil blir filtrert for mønsteret”merke”. Grensen er imidlertid satt til 2 bruker "-Først" parameter:

SELECT -STRING -PATH "C: \ Brukere \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Mark "| Select -Object * -First 2

I ovennevnte utgang, de to første forekomstene av “merke”Nøkkelord vises på PowerShell Terminalen.

Eksempel 4: For å velge mønstrene i spesifiserte kolonner

Select-String Cmdlet kan brukes med Select-Object for å velge mønster og returnere spesifikke egenskaper til linjen som inneholder disse mønstrene. For dette er mønstermatchingen spesifisert i Select-String Cmdlet, og filtrene vil bli brukt i Select-Object.

I vårt tilfelle utøver følgende eksempel kommandoen "SELECT-STRING”Cmdlet for å matche mønstre”Peter”Eller“Phili en CSV -fil. Denne valg-streng-kommandoen blir deretter avledet med SELECT-Object cmdlet for å få Linenumber, mønster, filnavn, og Linje som inneholder mønstrene Peter eller Phil:

SELECT -STRING -PATH "C: \ Brukere \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Peter "," Phil "| Select -Object Linenumber, Pattern, Filname, Line

Det observeres fra utgangen at linenummer, mønster, filnavn og linjer skrives ut som inneholder mønstrene, Peter eller Phil.

Eksempel 5: For å velge "Case Sensitive" -mønstre (tekst) i en fil

Du kan matche et mønster med "-Tilfellersfølsomme”Parameter for å vurdere bokstavsaken også. Eksemplet -kommandoen søker etter linjene som inneholder "Peter”:

SELECT -STRING -PATH "C: \ Brukere \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Peter "-sfølsom

Som du ser er det bare tre poster som er skrevet ut som inneholder Peter -nøkkelordet.

Eksempel 6: For å velge uovertruffen mønstre (tekst) i en fil

Ved hjelp av “-Notmatch”Parameter, vi kan bare velge de postene som ikke samsvarer med de spesifikke nøkkelordene. I det følgende eksempel har vi spesifisert to mønstre ("Merke" og “Peter”) i -notmatch -parameteren:

SELECT -STRING -PATH "C: \ Brukere \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Mark "," Peter "-notmatch

Som det kan sees i postene ovenfor, inneholder posten som er trykt på konsollen verken “merke" eller "Peter”.

Konklusjon

I PowerShell brukes PowerShell Select-String Cmdlet for å finne den spesifiserte teksten/mønsteret i filen. Bruken av valg-streng-kommandoen kan forbedres ved å bruke forskjellige parametere (-notmatch, -kasesensitiv) og egenskaper (filnavn, linje, mønster). Videre kan du utvide bruken av den valgte streng-cmdlet ved å bruke den med Select-Object. Du har lært arbeidet med den utvalgte-streng Cmdlet og brukssaker i forskjellige scenarier.