J'ai le fichier ps1 suivant (script ci-dessous, malheureusement il doit s'agir de PowerShell, rien de plus simple), exécutant une requête curl
, en prenant une partie dans un fichier, puis en exécutant quelques remplacements de texte.Boucle pour deux variables
$url = "https://someserver/trans="
$transaction = "1" #There are 4 transactions
$node = "node1" #There are 10 nodes
Remove-Item ATM.csv -Force
# So far so good
# Below is what I'd use as a function in bash. No sure what/how to do in PS:
#OUTPUT:
echo $transaction";"$node >> ATM.csv
curl -v -k -u [email protected] $url$transaction$node | findstr "<value>" >> ATM.csv
(Get-Content ATM.csv) -replace "<value>"," " | Out-File ATM.csv
(Get-Content ATM.csv) -replace "</value>"," " | Out-File ATM.csv
(Get-Content ATM.csv) -replace " ","" | Out-File ATM.csv
Le script tel qu'il est me donne une valeur transactionnelle (trois lignes dans la csv: la transaction, le noeud, et un nombre). En pratique, je devrais utiliser un tableau ou une liste avec 10 machines, et 4 transactions différentes.
Mon problème est de mettre en place une boucle pour deux variables, j'ai besoin d'exécuter la partie OUTPUT 40 fois (4 transactions X 10 nœuds). J'ai fait des trucs similaires en Python, mais je me retrouve déconcerté et hors du temps dans PowerShell. J'ai passé des heures à courir sur le Web et à essayer des exemples qui ne fonctionnent pas.
Pourriez-vous donner un coup de main?
Ce n'est pas comment vous manipuleriez ces choses dans PowerShell. Du tout. Veuillez fournir un exemple de sortie curl (non filtrée) et la sortie CSV que vous souhaitez créer à partir de celle-ci. –
De plus, '-replace' utilise regex – TheIncorrigible1
A quoi ressemble l'URL quand c'est fait,' https: // serv/trans = 1node1'? – TheIncorrigible1