PowerShell Select-String Cmdlet

PowerShell Select-String Cmdlet
La stringa di selezione è un cmdlet supportato da PowerShell per selezionare un testo/pattern in una stringa. La stringa di selezione viene anche definita equivalente GREP, in cui Grep è un comando basato su Unix per cercare modelli. Con questo comando, puoi cercare tutte le corrispondenze disponibili o anche aggiungere un limite delle corrispondenze utilizzando l'elenco dei parametri da esso supportati.

Questo post mira a esplorare l'uso primario e avanzato del cmdlet PowerShell Select-String.

Come utilizzare PowerShell Select-String Cmdlet

In PowerShell, il cmdlet selezionato può essere utilizzato per cercare un singolo modello o più schemi nel file o nella stringa. La sintassi seguente viene utilizzata per fare riferimento a CMDLET selezionata:

Select-String

I seguenti parametri possono essere utilizzati con il cmdlet selezionato:

  • Modello: Identifica il testo da selezionare nel file.
  • Sentiero: Si riferisce al percorso del file.
  • Maiuscole e minuscole: Usato per abbinare i termini abbinando il caso della lettera.
  • Non corrisponde: Utilizzato per ottenere il risultato che non contiene il testo specificato \.
  • Allmatches: Specifica la ricerca di più di una corrispondenza in ogni riga del file.

Esempio 1: per selezionare il modello specifico (testo) in un file

Il codice di esempio è il seguente per selezionare il modello (i.e., testo/stringa) in “Campione100.CSV" file. In primo luogo, il percorso assoluto del "Campione100.CSV"Viene dato dopo il"-Sentiero"Parametro. Successivamente, il modello "Segno"È impostato utilizzando il parametro"-Modello":

Select -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Mark "

Il modello era "Segno"E si osserva che la stringa selezionata ha stampato la linea (insieme al numero di linea) che contiene il"Segno" dentro.

Esempio 2: per selezionare i modelli multipli (testo) in un file

È possibile selezionare o trovare più schemi all'interno del file. Per fare ciò, il testo da cercare viene fornito dopo "-Modello"Parametro. Il comando seguente cerca il "Segno" E "Peter"Parole chiave all'interno del"Campione.CSV" file:

Select -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Mark "," Peter "

Come puoi vedere, quelle righe sono stampate che contengono Mark o Peter.

Esempio 3: per selezionare solo i record limitati dei modelli specificati (testo) in un file

Il cmdlet selezionato può essere utilizzato per cercare il modello specifico in un file, ma verrebbe cercato solo il numero limitato di istanze. Nell'esempio a testa di testa, il ".CSV"Il file viene filtrato per il modello"Segno". Tuttavia, il limite è impostato su 2 usando il "-Primo"Parametro:

Select -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Mark "| Select -Object * -First 2

Nell'output sopra, le prime due occorrenze del "Segno"La parola chiave viene visualizzata nel terminale di PowerShell.

Esempio 4: per selezionare i pattern nelle colonne specificate

Il cmdlet selezionato può essere utilizzato con l'obiezione selezionata per selezionare corrispondere allo schema e restituire proprietà specifiche della linea contenente tali schemi. Per questo, la corrispondenza del pattern è specificata nel cmdlet select-string e i filtri verranno applicati nell'object select.

Nel nostro caso, il comando di esempio seguente esercita il "Select-String"Cmdlet per abbinare i modelli"Peter" O "Phil" in un File CSV. Questo comando selezionato viene quindi convocato Seleziona Object cmdlet per ottenere il LINEGNUMER, MOTORE, FILENAME, E Linea che contiene i modelli Peter o Phil:

Select -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Peter "," Phil "| Linenumber Select -Object, Pattern, FileName, Linea

Dall'output si osserva che il lino, il motivo, il nome file e le linee sono stampati che contengono i motivi, Peter o Phil.

Esempio 5: per selezionare i pattern (testo) "Case Sensitive" in un file

Puoi abbinare un modello con "-Maiuscole e minuscole"Parametro per considerare anche il caso della lettera. Il comando di esempio cerca le righe che contengono "PETER":

Select -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Peter "-CaseSentive

Come puoi vedere, vengono stampati solo tre record che contengono la parola chiave Peter.

Esempio 6: per selezionare i pattern senza eguali (testo) in un file

Con l'aiuto del "-Non corrisponde"Parametro, possiamo selezionare solo quei record che non corrispondono alle parole chiave specifiche. Nell'esempio seguente, abbiamo specificato due schemi ("Segno" E "Peter") nel parametro -notmatch:

Select -String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Pattern" Mark "," Peter "-Notmatch

Come si può vedere nei record sopra, il record stampato sulla console non contiene "Segno" né "Peter".

Conclusione

In PowerShell, il cmdlet PowerShell Select-String viene utilizzato per trovare il testo/pattern specificato nel file. L'uso del comando Select-String può essere migliorato utilizzando parametri diversi (-notmatch, -casesitive) e proprietà (nome file, riga, pattern). Inoltre, è possibile estendere l'uso del cmdlet selezionata utilizzandolo con Object Select. Hai imparato il funzionamento del cmdlet selezionato e dei suoi casi d'uso in vari scenari.