Bonjour,
Je debute en PS1 que je ne connais pas.
Pour mon premier script, je dois trouver les x lignes les plus longues d'un fichier.
Pour ca je voudrais récupérer le numero de ligne et la taille de la ligne ( éventuellement la ligne aussi ) et trier par taille de ligne.
voila ce que j'ai fait (/trouvé) j'aimerai vos avis éclairés pour faire plus simple, plus performant, plus ... mieux
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 function addLine { param([int]$LineNb,[int]$Size,[string]$Content) $d=New-Object PSObject $d | Add-Member -Name LineNb -MemberType NoteProperty -Value $LineNb $d | Add-Member -Name Size -MemberType NoteProperty -Value $Size $d | Add-Member -Name Content -MemberType NoteProperty -Value $Content return $d } $MaListe=@() $a=Get-Content('nom_fichier') $counter = 1 Foreach ( $line in $a ) { $MaListe+=addLine $counter $line.Length $line #$MonTableau += $line.Length $counter $line $counter += 1 } # $MaListe |Sort-Object -Property Size -Descending |Select-Object -Index 0 |Format-Table -AutoSize $toto= $MaListe |Sort-Object -Property Size -Descending $toto[0..3] |Format-Table -AutoSize }
Partager