Lire un fichier ligne par ligne dans PowerShell
Source : Stack Overflow [powershell],)
Peu de documentation sur les boucles PowerShell.
La documentation sur les boucles dans PowerShell est abondante, et vous pourriez consulter les rubriques d’aide suivantes : about_For, about_ForEach, about_Do, about_While.
foreach($line in Get-Content .\file.txt) {
if($line -match $regex){
# Travail ici
}
}
Une autre solution idiomatique PowerShell a votre probleme est de diriger les lignes du fichier texte vers la cmdlet ForEach-Object :
Get-Content .\file.txt | ForEach-Object {
if($_ -match $regex){
# Travail ici
}
}
Au lieu de faire la correspondance regex a l’interieur de la boucle, vous pouvez diriger les lignes a travers Where-Object pour filtrer uniquement celles qui vous interessent :
Get-Content .\file.txt | Where-Object {$_ -match $regex} | ForEach-Object {
# Travail ici
}