Bonjour la liste,
Je cherche à convertir le retour de l'appel à une commande CLI d'un logiciel en array à deux dimensions Powershell (ex $array[i][j] avec i la ligne, j la colonne)
De ma CLI j'obtiens ceci
PS C:\Users\user> mon_programme -args blabla 2016/12/04-1 12:00:17 00:30:29 Completed 94113973 0 2016/12/03-4 1:00:18 00:01:30 Completed 0 0 2016/12/03-1 12:01:24 00:01:44 Completed 20929 0 2016/11/30-3 1:00:18 00:01:35 Completed 7903 0 2016/11/30-1 12:00:18 00:01:48 Completed 14476 0 2016/10/13-1 12:00:21 00:01:39 Completed 15461 0 2016/10/11-1 12:00:21 00:01:27 Completed 5254 0 2016/10/10-1 12:00:21 00:01:31 Completed 0 0 2016/10/09-1 12:00:20 00:30:11 Completed 97405902 0 2016/10/08-1 1:15:19 00:01:27 Completed 192725 0
Comme vous le voyez le nombre d'espaces n'est pas constant.
Est-ce faisable en une commande powershell ? ou faut-il que je passe par un fichier tampon et que je lise chaque ligne en faisant un split dessus ?
Cordialement, Ludovic
Ca aide ça ?
https://social.technet.microsoft.com/wiki/contents/articles/4244.how-to-conv...
Le 4 avr. 2017 à 16:23, Ludovic Scotti tontonlud@gmail.com a écrit :
Bonjour la liste,
Je cherche à convertir le retour de l'appel à une commande CLI d'un logiciel en array à deux dimensions Powershell (ex $array[i][j] avec i la ligne, j la colonne)
De ma CLI j'obtiens ceci
PS C:\Users\user> mon_programme -args blabla 2016/12/04-1 12:00:17 00:30:29 Completed 94113973 0 2016/12/03-4 1:00:18 00:01:30 Completed 0 0 2016/12/03-1 12:01:24 00:01:44 Completed 20929 0 2016/11/30-3 1:00:18 00:01:35 Completed 7903 0 2016/11/30-1 12:00:18 00:01:48 Completed 14476 0 2016/10/13-1 12:00:21 00:01:39 Completed 15461 0 2016/10/11-1 12:00:21 00:01:27 Completed 5254 0 2016/10/10-1 12:00:21 00:01:31 Completed 0 0 2016/10/09-1 12:00:20 00:30:11 Completed 97405902 0 2016/10/08-1 1:15:19 00:01:27 Completed 192725 0
Comme vous le voyez le nombre d'espaces n'est pas constant.
Est-ce faisable en une commande powershell ? ou faut-il que je passe par un fichier tampon et que je lise chaque ligne en faisant un split dessus ?
Cordialement, Ludovic _______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/
Bonjour,
Tu sais que ce que tu recherches, c'est deux ensemble de chiffres ([0-9]+) qui se situent à la fin de tes lignes (caractère $) Quelque chose du genre
$result = @() Foreach ($line in $content) { if ($line -match ".*Completed +([0-9]+) +([0-9]+)$" ) { $result += @($Matches[1], $Matches[2]) } } return $result
devrait le faire. Je fais ça de tête, il doit y avoir des fautes, mais dans l'idée : Tu repère ce qui t'intéresse dans ta chaîne de caractères par des parenthèses dans ton pattern, tu fais un match avec ton pattern et plus qu'à appeler le tableau $Matches
Cordialement, Arano
Le 4 avril 2017 à 16:50, David Ponzone david.ponzone@gmail.com a écrit :
Ca aide ça ?
https://social.technet.microsoft.com/wiki/contents/ articles/4244.how-to-convert-text-output-of-a-legacy- console-application-to-powershell-objects.aspx
Le 4 avr. 2017 à 16:23, Ludovic Scotti tontonlud@gmail.com a écrit :
Bonjour la liste,
Je cherche à convertir le retour de l'appel à une commande CLI d'un logiciel en array à deux dimensions Powershell (ex $array[i][j] avec i la ligne, j la colonne)
De ma CLI j'obtiens ceci
PS C:\Users\user> mon_programme -args blabla 2016/12/04-1 12:00:17 00:30:29 Completed 94113973 0 2016/12/03-4 1:00:18 00:01:30 Completed 0 0 2016/12/03-1 12:01:24 00:01:44 Completed 20929 0 2016/11/30-3 1:00:18 00:01:35 Completed 7903 0 2016/11/30-1 12:00:18 00:01:48 Completed 14476 0 2016/10/13-1 12:00:21 00:01:39 Completed 15461 0 2016/10/11-1 12:00:21 00:01:27 Completed 5254 0 2016/10/10-1 12:00:21 00:01:31 Completed 0 0 2016/10/09-1 12:00:20 00:30:11 Completed 97405902 0 2016/10/08-1 1:15:19 00:01:27 Completed 192725 0
Comme vous le voyez le nombre d'espaces n'est pas constant.
Est-ce faisable en une commande powershell ? ou faut-il que je passe par un fichier tampon et que je lise chaque ligne en faisant un split dessus ?
Cordialement, Ludovic _______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/
Liste de diffusion du FRsAG http://www.frsag.org/
Merci pour vos retours. Je vais regarder tout ça.
Le 4 avril 2017 à 22:50, SERRUT Arnaud qqqrno@gmail.com a écrit :
Bonjour,
Tu sais que ce que tu recherches, c'est deux ensemble de chiffres ([0-9]+) qui se situent à la fin de tes lignes (caractère $) Quelque chose du genre
$result = @() Foreach ($line in $content) { if ($line -match ".*Completed +([0-9]+) +([0-9]+)$" ) { $result += @($Matches[1], $Matches[2]) } } return $result
devrait le faire. Je fais ça de tête, il doit y avoir des fautes, mais dans l'idée : Tu repère ce qui t'intéresse dans ta chaîne de caractères par des parenthèses dans ton pattern, tu fais un match avec ton pattern et plus qu'à appeler le tableau $Matches
Cordialement, Arano
Le 4 avril 2017 à 16:50, David Ponzone david.ponzone@gmail.com a écrit :
Ca aide ça ?
https://social.technet.microsoft.com/wiki/contents/articles/ 4244.how-to-convert-text-output-of-a-legacy-console- application-to-powershell-objects.aspx
Le 4 avr. 2017 à 16:23, Ludovic Scotti tontonlud@gmail.com a écrit :
Bonjour la liste,
Je cherche à convertir le retour de l'appel à une commande CLI d'un logiciel en array à deux dimensions Powershell (ex $array[i][j] avec i la ligne, j la colonne)
De ma CLI j'obtiens ceci
PS C:\Users\user> mon_programme -args blabla 2016/12/04-1 12:00:17 00:30:29 Completed 94113973 0 2016/12/03-4 1:00:18 00:01:30 Completed 0 0 2016/12/03-1 12:01:24 00:01:44 Completed 20929 0 2016/11/30-3 1:00:18 00:01:35 Completed 7903 0 2016/11/30-1 12:00:18 00:01:48 Completed 14476 0 2016/10/13-1 12:00:21 00:01:39 Completed 15461 0 2016/10/11-1 12:00:21 00:01:27 Completed 5254 0 2016/10/10-1 12:00:21 00:01:31 Completed 0 0 2016/10/09-1 12:00:20 00:30:11 Completed 97405902 0 2016/10/08-1 1:15:19 00:01:27 Completed 192725 0
Comme vous le voyez le nombre d'espaces n'est pas constant.
Est-ce faisable en une commande powershell ? ou faut-il que je passe par un fichier tampon et que je lise chaque ligne en faisant un split dessus ?
Cordialement, Ludovic _______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/
Liste de diffusion du FRsAG http://www.frsag.org/