« PowerShell/Données/Texte » : différence entre les versions
| (Une version intermédiaire par le même utilisateur non affichée) | |||
| Ligne 35 : | Ligne 35 : | ||
# affichage du résultat | # affichage du résultat | ||
$texte | $texte | ||
</source> | |||
== Alignement de textes == | |||
Pour aligner du texte et des valeurs numérique : | |||
<source> | |||
$longueur1 = 30 | |||
$longueur2 = 8 | |||
$montant1 = 1234 | |||
$montant2 = 12 | |||
$montant3 = 54321 | |||
$separateur = "." | |||
Clear-Host | |||
"Bonjour ".PadRight($longueur, $separateur) + " : " + "$montant1".PadLeft($longueur2) | |||
"Bonjour, il fait beau ! ".PadRight($longueur, $separateur) + " : " + "$montant2".PadLeft($longueur2) | |||
"Bonjour, c'est ici que ? ".PadRight($longueur, $separateur) + " : " + "$montant3".PadLeft($longueur2) | |||
Write-Host | |||
</source> | |||
Résultat | |||
<pre> | |||
Bonjour ...................... : 1234 | |||
Bonjour, il fait beau ! ...... : 12 | |||
Bonjour, c'est ici que ? ..... : 54321 | |||
</pre> | |||
== Récupération d'une partie d'un texte == | |||
Récupération du texte qui suit une chaine de caractère recherchée : | |||
<source> | |||
$fichier = "C:\Outil\Script\PSHANN001.ps1" | |||
$monTexte = Get-Content -Path $fichier -Raw | Select-String -Pattern "description\s+:\s*(.*)" | ForEach-Object { $_.Matches.Groups[1].Value } | |||
</source> | </source> | ||
Dernière version du 18 octobre 2026 à 22:35
Les données de type texte et différents traitements.
Suppression de retour chariot et saut de ligne (CR et LF)
<#
Description : traitement d'un document texte possédant des retours chariots (CR) et des saut de ligne (LF) ; le but est d'optimiser le contenu pour être ensuite imprimé
Usage : exercice en PowerShell
Auteur : fylip22
Version : 1.0
Révisions :
- 1.0 (02/12/2024) : création du script
#>
$texte = "
00:00:01 Présentateur 1
Bonjour. Il faut beau aujourd'hui
00:00:10
Bonjour
00:00:11 Présentateur 2
Comment ça va ?
00:00:12 Présentateur 3
Je suis content d'être ici aujourd'hui
00:00:29
Comment ?
"
# suppression de CR et LF après le texte "présentateur" (CR : carriage return, retour chariot ; LF : line feed, saut de ligne)
$texte = $texte -replace "(Présentateur [1-9])(\r\n)" ,"`$1 : "
# suppression de CR et LF après le compteur de type 00:00:00 (CR : carriage return, retour chariot ; LF : line feed, saut de ligne)
$texte = $texte -replace "([\d]{2}:[\d]{2}:[\d]{2})(\r\n)" ,"`$1 : "
# affichage du résultat
$texte
Alignement de textes
Pour aligner du texte et des valeurs numérique :
$longueur1 = 30 $longueur2 = 8 $montant1 = 1234 $montant2 = 12 $montant3 = 54321 $separateur = "." Clear-Host "Bonjour ".PadRight($longueur, $separateur) + " : " + "$montant1".PadLeft($longueur2) "Bonjour, il fait beau ! ".PadRight($longueur, $separateur) + " : " + "$montant2".PadLeft($longueur2) "Bonjour, c'est ici que ? ".PadRight($longueur, $separateur) + " : " + "$montant3".PadLeft($longueur2) Write-Host
Résultat
Bonjour ...................... : 1234 Bonjour, il fait beau ! ...... : 12 Bonjour, c'est ici que ? ..... : 54321
Récupération d'une partie d'un texte
Récupération du texte qui suit une chaine de caractère recherchée :
$fichier = "C:\Outil\Script\PSHANN001.ps1"
$monTexte = Get-Content -Path $fichier -Raw | Select-String -Pattern "description\s+:\s*(.*)" | ForEach-Object { $_.Matches.Groups[1].Value }
Analyse syntaxique de données
Youtube, French DevOps & PowerShell User Group, FrPSUG 2016/09/20 Analyse syntaxique de données avec Microsoft PowerShell (Francois-Xavier Cat)
- https://www.youtube.com/watch?v=sCd8YufeyUI ; lazywinadmin.com ; github.com/lazywinadmin
- date : 20/09/2016 • durée : 1 h 8 min 43 s
