Powershell - extrait de la première et de la troisième élément de forme variable de chaîne
J'ai une variable appelée $Disque qui est peuplé par une boucle foreach qui traite la sortie d'une commande qui retourne le nombre de lignes de sortie.
Pour chaque itération de la boucle, le $Disque variable contient des données sur simulateur d':
Harddisk4 Disk1 SQLDG1 MBR 0 0 Offline DISKS@SERVER1 P4C0T0L3 - - F6799A78-9C10-443C-B4E6-22E3B30563C0 60003FFF409638B0B4E622E3B30563C0
J'ai besoin d'extraire la première et troisième mots de cette chaîne de caractères; tous les “mots” dans la chaîne peuvent être de longueur variable.
Je voudrais terminer avec:
$Harddisk
égale à: Harddisk4
$DG
égale à: SQLDG1
Jusqu'à présent, je n'ai pas trouvé le moyen de le faire. Quelles sont les options de powershell ont pour accomplir cette?
- Ce programme produit cette sortie? Je me demandais si il pourrait y avoir un équivalent géré...
Vous devez vous connecter pour publier un commentaire.
Marcus réponse est très elegnate utilisant nommé correspond
Pour montrer une autre approche, comme il y en a toujours une autre
ou de pipeline
\s+
va diviser la ligne sur n'importe quel groupe d'espace, vous laissant chaque mot. Qui pourrait être un problème avec certains de texte, mais aussi longtemps que les détails que vous recherchez ne contiennent pas d'espaces, il conviendra.0
et2
représenterait le 1er et le 3ème entrées dans une base de 0 tableau.Donnerait le résultat suivant pour
$Harddisk
et$DG
.Parce que tu voulais que les valeurs outputed dans 2 variables, il nécessite un peu de violon. Le mieux que je puisse faire est:
Une façon d'y parvenir est d'utiliser une expression régulière pour traiter chaque ligne, en fonction de ce que votre format d'entrée est, il pourrait ressembler à quelque chose comme ceci:
Pour la .NET la syntaxe d'expression régulière utilisée par PowerShell voir, par exemple,http://msdn.microsoft.com/en-us/library/az24scfc%28v=vs.110%29.aspx.
Merci Matt,
Voici ce que j'ai fini de les utiliser pour la Sécurité de l'Événement-journal des événements pour le compte de lock-out.