2010-08-25 4 views
0

Voici une liste de données dans un seul fichier. Je voudrais lancer ça à Powershell.Aide sur le script pour extraire des données spécifiques de la chaîne

LESCAR85 07/31/10 1700678991 /70039536 35,00 $
SQUADCT8 07/31/10 1698125739 /70039539 35,00 $
RINGFIEL 07/29/10 11041563/ 70039639 35,00 $

Le 8 chiffres, puis le montant à la fin je voudrais convertir en CSV afin que je puisse l'utiliser dans un fichier Excel. Le premier ensemble de nombres plus longs n'est pas toujours le même, ce qui change le nombre d'espaces entre la séquence de 8 chiffres dont j'ai besoin et le montant en dollars.

Merci!

Répondre

1

Tant que «/» (barre oblique délimitée par des espaces) seperates toujours les données qui vous intéressent depuis le début de la chaîne, vous pouvez utiliser ceci:

get-content yourDataFile.txt | foreach{(-split ($_ -split '/')[1]) -join ','} > yourResult.csv 

Qu'est-ce que la boucle foreach fait:

  1. divise chaque ligne à la «/»
  2. prend la deuxième partie de la division (ce qui vous intéresse), et se divise à nouveau les espaces.
  3. Les éléments résultants sont ensuite assemblés en utilisant une virgule.
Questions connexes