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
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 
 
 }
merci