Supprimer les doublons dans un fichier texte puis le trier en Powershell

Devez-vous vraiment installer un VPN sur votre ordinateur ou votre smartphone?

Si vous téléchargez des films illégalement, si vous voulez surfer sur Internet de façon anonyme sans que le gouvernement, votre FAI ou votre employeur soit au courant ... OUI installer un VPN est définitivement une bonne idée.

Installer un VPN consiste à chiffrer toutes vos communications vers Internet. Ce n'est plus votre ordinateur qui est exposé sur Internet mais votre fournisseur de VPN.

Anonymat NordVPN

Nous allons voir comment trier puis supprimer les doublons dans un fichier texte avec un script Powershell.

Avant de commencer et si vous n’êtes pas encore à l’aise en Powershell je vous invite à consulter les articles suivants:

Installer PowerShell 1.0

Exécuter un script en PowerShell

Considérons un fichier texte nommé AllDomainComputers.txt contenant la liste de machines suivantes:

Station14
Station04
Station01
Station24
Station01

Nous souhaitons supprimer les doublons puis trier la liste par ordre alphabétique tout en conservant la liste original.

Pour cela nous créons un fichier de script Powershell MonScript.PS1contenant le script suivant:

$OriginalFile = "C:\AllDomainComputers.txt"
$DestinationFile = "C:\AllDomainComputers_NEW.txt"
Get-Content $OriginalFile | Sort-Object | Get-Unique > $DestinationFile

Puis nous l’exécutons depuis une ligne de commande:

PowerShell c:\Monscript.PS1

On peut constater que le nouveau fichier AllDomainComputers_NEW.txt contient bien un liste triée et sans aucun doublons:

Station01
Station04
Station14
Station24

Nous aurions pu utiliser les Alias afin de simplifier le code, ce qui aurait donné :

$OriginalFile = "C:\AllDomainComputers.txt"
$DestinationFile = "C:\AllDomainComputers_NEW.txt"
GC $OriginalFile | Sort | GU > $DestinationFile

Pour trier la liste dans l’ordre inverse il suffit d’utiliser la propriété descending :

$OriginalFile = "C:\AllDomainComputers.txt"
$DestinationFile = "C:\AllDomainComputers_NEW.txt"
GC $OriginalFile | Sort -descending | GU > $DestinationFile

On obtient ainsi la liste suivante :

Station24
Station14
Station04
Station01

Laisser un commentaire

Cliquez ici pour révoquer votre décision.