在 PowerShell 中计算字符数、字数和行数

Rohan Timalsina 2023年1月30日
  1. 在 PowerShell 中使用 Measure-ObjectCmdlet 来计算字符数
  2. 在 PowerShell 中使用 Measure-Object Cmdlet 来计算字数
  3. 使用 Measure-Object Cmdlet 计算 PowerShell 中的行数
  4. 在 PowerShell 中使用 Measure-Object Cmdlet 计算目录中所有文件的文本
  5. 在 PowerShell 中使用 measure 来计算字符数、字数和行数
在 PowerShell 中计算字符数、字数和行数

在处理文本文件时,你可能需要知道文件中的字符数、单词数和行数。你可以找到许多工具和网站来计算字符、单词和行数。

但是如果你想使用命令行,PowerShell 是一个很棒的工具。Measure-Object cmdlet 计算 PowerShell 中对象的属性值。

它显示字符串对象(如文本文件)中字符、单词和行的数值。本教程教授如何使用 PowerShell 计算文本文件中的字符数、单词数和行数。

在 PowerShell 中使用 Measure-ObjectCmdlet 来计算字符数

Measure-Object cmdlet 根据命令中使用的参数进行计算。例如,只有在命令中指定了参数时,它才会测量字符串对象的属性值,例如字符、单词和行。

-Character 参数告诉 Measure-Object 计算输入对象中的字符数。

以下命令计算目录 C:\Newtest.txt 文件中的字符数。

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

输出:

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

在上面的示例中,Get-Content cmdlet 获取 test.txt 文件的内容。然后将其作为输入对象通过管道传送到 Measure-Object 以计算其字符数。

默认情况下,空格被计为字符。你可以使用 -IgnoreWhiteSpace 参数排除字符计数中的空格。

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

输出:

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

其他值不显示,因为它们的参数未指定。

在 PowerShell 中使用 Measure-Object Cmdlet 来计算字数

-Word 参数指示 Measure-Object 计算输入对象中的单词数。

下面的示例计算目录 C:\Newtest.txt 文件中的单词数。

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

输出:

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

使用 Measure-Object Cmdlet 计算 PowerShell 中的行数

-Line 参数指示 Measure-Object 计算输入对象中的行数。

下面的示例计算目录 C:\New 中的 test.txt 文件中的行数。

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

输出:

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

你可以使用单个命令中的所有参数来计算文件中的字符、单词和行的总数。

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

输出:

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

在 PowerShell 中使用 Measure-Object Cmdlet 计算目录中所有文件的文本

你还可以计算目录中所有文件的字符数、单词数和行数。以下命令测量 C:\New 目录中所有 .txt 文件的字符、单词和行。

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

Get-ChildItem 获取上述命令中 C:\New 目录中的所有 .txt 文件。它的输出通过管道传送到 Get-Content 以获取所有文件的内容,然后将其通过管道传送到 Measure-Object 以计算字符、单词和行数。

输出:

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

如果你还想计算子目录中存在的文件数,则必须将 -Recurse 参数与 Get-ChildItem 一起使用。

以下示例显示目录 C:\New 中所有 .txt 文件的字符数、单词数和行数,包括其子目录。

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

输出:

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

在 PowerShell 中使用 measure 来计算字符数、字数和行数

你还可以使用 measure 命令测量文本文件中的文本,该命令是 Measure-Object 的内置别名。

此命令将打印 C:\New 目录中 process.txt 文件的字符数、单词数和行数。

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

输出:

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

在本文中,你学习了使用 Measure-Object 计算 PowerShell 中文本文件的字符数、单词数和行数。

作者: Rohan Timalsina
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