Cmdlet à chaîne PowerShell Select-String

Cmdlet à chaîne PowerShell Select-String
Le SELECT-STRING est un cmdlet pris en charge par PowerShell pour sélectionner un texte / motif dans une chaîne. Le SELECT-STRING est également appelé l'équivalent Grep, où Grep est une commande basée sur Unix pour rechercher des modèles. Avec cette commande, vous pouvez rechercher toutes les correspondances disponibles ou peut également ajouter une limite des correspondances en utilisant la liste des paramètres pris en charge par celui-ci.

Cet article vise à explorer l'utilisation principale et avancée de la commande PowerShell Select-String.

Comment utiliser PowerShell Select-String Cmdlet

Dans PowerShell, le commandement de cordes de sélection peut être utilisé pour rechercher un seul modèle ou plusieurs modèles dans le fichier ou la chaîne. La syntaxe suivante est utilisée pour référer la commande de sélection de sélection:

Select-string

Les paramètres suivants peuvent être utilisés avec la commande à chaîne de sélection:

  • Modèle: Identifie le texte à sélectionner dans le fichier.
  • Chemin: Se réfère au chemin du fichier.
  • Sensible aux majuscules et minuscules: Utilisé pour faire correspondre les termes en faisant correspondre le cas de lettre.
  • Ne correspond pas: Utilisé pour obtenir le résultat qui ne contient pas le modèle de texte spécifié \.
  • Allmatches: Spécifie la recherche de plus d'une correspondance dans chaque ligne du fichier.

Exemple 1: Pour sélectionner le modèle spécifique (texte) dans un fichier

L'exemple de code est le suivant pour sélectionner le modèle (i.e., texte / chaîne) dans le «Échantillon100.CSV" déposer. Premièrement, le chemin absolu du «Échantillon100.CSV"Est donné après le"-Chemin»Paramètre. Ensuite, le modèle "Marquer"Est défini en utilisant le paramètre"-Modèle»:

SELECT-String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Patdern" Mark "

Le motif était «Marquer"Et il est observé que la chaîne de sélection a imprimé la ligne (avec le numéro de ligne) qui contient le"Marquer"Dans ce.

Exemple 2: Pour sélectionner les multiples modèles (texte) dans un fichier

Vous pouvez sélectionner ou trouver plusieurs modèles dans le fichier. Pour ce faire, le texte à rechercher est fourni après le «-Modèle»Paramètre. La commande suivante recherche le «Marquer" et "Pierre«Mots-clés à l'intérieur du«Goûter.CSV" déposer:

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

Comme vous pouvez le voir, ces lignes sont imprimées qui contiennent soit Mark ou Peter.

Exemple 3: Pour sélectionner uniquement les enregistrements limités des modèles spécifiés (texte) dans un fichier

Le commandement de cordes de sélection peut être utilisé pour rechercher le modèle spécifique dans un fichier, mais seul le nombre limité d'instances serait recherchée. Dans l'exemple de croisement donné, le «.CSV"Le fichier est filtré pour le modèle"Marquer". Cependant, la limite est fixée à 2 en utilisant le "-D'abord»Paramètre:

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

Dans la sortie ci-dessus, les deux premières occurrences du «Marquer»Les mots clés sont affichés sur le terminal PowerShell.

Exemple 4: Pour sélectionner les modèles dans des colonnes spécifiées

La commande de sélection de sélection peut être utilisée avec l'objectif de sélection pour sélectionner correspondant au modèle et renvoyer les propriétés spécifiques de la ligne contenant ces motifs. Pour cela, la correspondance du modèle est spécifiée dans la commande de sélection de sélection, et les filtres seront appliqués dans l'objectif select-Object.

Dans notre cas, l'exemple de commande suivant exerce le «Select-string"Cmdlet pour faire correspondre les modèles"Pierre" ou "Phil" dans un Fichier csv. Cette commande de sélection de sélection est ensuite conduite avec le Select-Object cmdlet pour obtenir le Nombre de linais, modèle, nom de fichier, et Doubler qui contient les modèles Peter ou Phil:

SELECT-String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Patdern" Peter "," Phil "| Linet-Object-Object, modèle, nom de fichier, ligne

Il est observé à partir de la sortie que le nombre de linais, le modèle, le nom de fichier et les lignes sont imprimés qui contiennent les motifs, Peter ou Phil.

Exemple 5: Pour sélectionner les modèles «Sensibilisation» (texte) dans un fichier

Vous pouvez faire correspondre un modèle avec "-Sensible aux majuscules et minuscules»Paramètre pour considérer également le cas de lettre. L'exemple de commande recherche les lignes qui contiennent "Pierre»:

SELECT-String -Path "C: \ Users \ PowerShell \ Documents \ Sample \ Sample100.CSV "-Patdern" Peter "-Casasensitive

Comme vous pouvez le voir, seuls trois enregistrements sont imprimés qui contiennent le mot-clé Peter.

Exemple 6: Pour sélectionner les modèles inégalés (texte) dans un fichier

Avec l'aide du «-Ne correspond pas»Paramètre, nous ne pouvons sélectionner que les enregistrements qui ne correspondent pas aux mots clés spécifiques. Dans l'exemple suivant, nous avons spécifié deux modèles ("Marquer" et "Peter") Dans le paramètre -Notmatch:

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

Comme on peut le voir dans les enregistrements ci-dessus, l'enregistrement imprimé sur la console ne contient pas «Marquer" ni "Pierre".

Conclusion

Dans PowerShell, la commande PowerShell Select-String est utilisée pour trouver le texte / modèle spécifié dans le fichier. L'utilisation de la commande SELECT-STRING peut être améliorée en utilisant différents paramètres (-notmatch, -Casasensitive) et des propriétés (nom de fichier, ligne, modèle). De plus, vous pouvez prolonger l'utilisation de la commande de sélection de sélection en l'utilisant avec Select-Object. Vous avez appris le fonctionnement de la commande à cordes sélectionnés et de ses cas d'utilisation dans divers scénarios.