Compter le nombre de caractères, de mots et de lignes dans PowerShell

Rohan Timalsina 30 janvier 2023
  1. Utilisez l’applet de commande Measure-Object pour compter le nombre de caractères dans PowerShell
  2. Utiliser l’applet de commande Measure-Object pour compter le nombre de mots dans PowerShell
  3. Utiliser l’applet de commande Measure-Object pour compter le nombre de lignes dans PowerShell
  4. Utiliser l’applet de commande Measure-Object pour compter le texte de tous les fichiers du répertoire dans PowerShell
  5. Utilisez measure pour compter le nombre de caractères, de mots et de lignes dans PowerShell
Compter le nombre de caractères, de mots et de lignes dans PowerShell

Lorsque vous travaillez avec des fichiers texte, vous devrez peut-être connaître le nombre de caractères, de mots et de lignes dans un fichier. Vous pouvez trouver de nombreux outils et sites Web pour compter les caractères, les mots et les lignes.

Mais si vous souhaitez utiliser la ligne de commande, PowerShell est un excellent outil. L’applet de commande Measure-Object calcule les valeurs de propriété des objets dans PowerShell.

Il affiche les valeurs numériques des caractères, des mots et des lignes dans les objets chaîne, tels que les fichiers texte. Ce didacticiel explique comment compter le nombre de caractères, de mots et de lignes dans un fichier texte à l’aide de PowerShell.

Utilisez l’applet de commande Measure-Object pour compter le nombre de caractères dans PowerShell

L’applet de commande Measure-Object effectue des calculs en fonction des paramètres utilisés dans la commande. Par exemple, il mesure les valeurs de propriété, telles que les caractères, les mots et les lignes d’objets chaîne, uniquement si les paramètres sont spécifiés dans la commande.

Le paramètre -Character indique à Measure-Object de calculer le nombre de caractères dans les objets d’entrée.

La commande suivante compte le nombre de caractères d’un fichier test.txt dans le répertoire C:\New.

Get-Content C:\New\test.txt | Measure-Object -Character

Production:

Lines Words Characters Property
----- ----- ---------- --------
                  1065

Dans l’exemple ci-dessus, l’applet de commande Get-Content récupère le contenu d’un fichier test.txt. Il est ensuite redirigé vers Measure-Object en tant qu’objet d’entrée pour calculer son nombre de caractères.

Par défaut, les espaces blancs sont comptés comme des caractères. Vous pouvez exclure les espaces blancs d’un nombre de caractères en utilisant le paramètre -IgnoreWhiteSpace.

Get-Content C:\New\test.txt | Measure-Object -Character -IgnoreWhiteSpace

Production:

Lines Words Characters Property
----- ----- ---------- --------
                   894

Les autres valeurs ne sont pas affichées car leurs paramètres ne sont pas spécifiés.

Utiliser l’applet de commande Measure-Object pour compter le nombre de mots dans PowerShell

Le paramètre -Word indique à Measure-Object de calculer le nombre de mots dans les objets d’entrée.

L’exemple ci-dessous compte le nombre de mots d’un fichier test.txt dans le répertoire C:\New.

Get-Content C:\New\test.txt | Measure-Object -Word

Production:

Lines Words Characters Property
----- ----- ---------- --------
        173

Utiliser l’applet de commande Measure-Object pour compter le nombre de lignes dans PowerShell

Le paramètre -Line indique à Measure-Object de calculer le nombre de lignes dans les objets d’entrée.

L’exemple ci-dessous compte le nombre de lignes d’un fichier test.txt dans le répertoire C:\New.

Get-Content C:\New\test.txt | Measure-Object -Line

Production:

Lines Words Characters Property
----- ----- ---------- --------
    7

Vous pouvez utiliser tous les paramètres d’une seule commande pour compter le nombre total de caractères, de mots et de lignes dans un fichier.

Get-Content C:\New\test.txt | Measure-Object -Character -Word -Line

Production:

Lines Words Characters Property
----- ----- ---------- --------
    7   173       1065

Utiliser l’applet de commande Measure-Object pour compter le texte de tous les fichiers du répertoire dans PowerShell

Vous pouvez également compter le nombre de caractères, de mots et de lignes de tous les fichiers présents dans le répertoire. La commande suivante mesure les caractères, les mots et les lignes de tous les fichiers .txt dans le répertoire C:\New.

Get-ChildItem C:\New\*.txt | Get-Content | Measure-Object -Character -Word -Line

Le Get-ChildItem récupère tous les fichiers .txt dans le répertoire C:\New dans la commande ci-dessus. Sa sortie est redirigée vers Get-Content pour obtenir le contenu de tous les fichiers, qui est ensuite redirigé vers Measure-Object pour calculer le nombre de caractères, de mots et de lignes.

Production:

Lines Words Characters Property
----- ----- ---------- --------
  303  2379      36046

Si vous voulez aussi compter le nombre de fichiers présents dans les sous-répertoires, vous devez utiliser le paramètre -Recurse avec Get-ChildItem.

L’exemple suivant affiche le nombre de caractères, de mots et de lignes de tous les fichiers .txt du répertoire C:\New, y compris ses sous-répertoires.

Get-ChildItem C:\New\*.txt -Recurse | Get-Content | Measure-Object -Character -Word -Line

Production:

Lines Words Characters Property
----- ----- ---------- --------
 3488 21646     191389

Utilisez measure pour compter le nombre de caractères, de mots et de lignes dans PowerShell

Vous pouvez également mesurer du texte dans des fichiers texte à l’aide de la commande measure, l’alias intégré pour Measure-Object.

Cette commande imprimera le nombre de caractères, de mots et de lignes d’un fichier process.txt dans le répertoire C:\New.

Get-Content C:\New\process.txt | measure -Character -Word -Line

Production:

Lines Words Characters Property
----- ----- ---------- --------
  293  2189      34867

Dans cet article, vous avez appris à utiliser Measure-Object pour compter le nombre de caractères, de mots et de lignes de fichiers texte dans PowerShell.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website