PowerShell の文字、単語、行の数を数える

Rohan Timalsina 2023年1月30日
  1. PowerShell で Measure-Object コマンドレットを使用して文字数をカウントする
  2. PowerShell で Measure-Object コマンドレットを使用して単語数をカウントする
  3. PowerShell で Measure-Object コマンドレットを使用して行数をカウントする
  4. PowerShell で Measure-Object コマンドレットを使用してディレクトリのすべてのファイルのテキストをカウントする
  5. PowerShell で measure を使用して文字、単語、および行の数をカウントする
PowerShell の文字、単語、行の数を数える

テキストファイルを操作するときは、ファイル内の文字、単語、および行の数を知る必要がある場合があります。文字、単語、行を数えるための多くのツールや Web サイトを見つけることができます。

ただし、コマンドラインを使用する場合は、PowerShell が優れたツールです。Measure-Object コマンドレットは、PowerShell のオブジェクトのプロパティ値を計算します。

テキストファイルなどの文字列オブジェクトの文字、単語、行の数値を表示します。このチュートリアルでは、PowerShell を使用して、テキストファイル内の文字、単語、および行の数をカウントする方法を説明します。

PowerShell で Measure-Object コマンドレットを使用して文字数をカウントする

Measure-Object コマンドレットは、コマンドで使用されるパラメーターに応じて計算を実行します。たとえば、コマンドでパラメータが指定されている場合にのみ、文字、単語、文字列オブジェクトの行などのプロパティ値を測定します。

-Character パラメーターは、Measure-Object に入力オブジェクトの文字数を計算するように指示します。

次のコマンドは、ディレクトリ C:\Newtest.txt ファイルの文字数をカウントします。

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

出力:

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

上記の例では、Get-Content コマンドレットは test.txt ファイルのコンテンツを取得します。次に、入力オブジェクトとして Measure-Object にパイプされ、文字数が計算されます。

デフォルトでは、空白は文字としてカウントされます。 -IgnoreWhiteSpace パラメータを使用して、文字数の空白を除外できます。

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

出力:

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

その他の値は、パラメーターが指定されていないため表示されません。

PowerShell で Measure-Object コマンドレットを使用して単語数をカウントする

-Word パラメータは、入力オブジェクトの単語数を計算するように Measure-Object に指示します。

次の例では、ディレクトリ C:\Newtest.txt ファイル内の単語数をカウントしています。

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

出力:

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

PowerShell で Measure-Object コマンドレットを使用して行数をカウントする

-Line パラメータは、入力オブジェクトの行数を計算するように Measure-Object に指示します。

次の例では、ディレクトリ C:\Newtest.txt ファイルの行数をカウントしています。

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

出力:

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

1つのコマンドですべてのパラメーターを使用して、ファイル内の文字、単語、および行の総数を数えることができます。

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

出力:

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

PowerShell で Measure-Object コマンドレットを使用してディレクトリのすべてのファイルのテキストをカウントする

ディレクトリ内に存在するすべてのファイルの文字、単語、および行の数を数えることもできます。次のコマンドは、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

サブディレクトリに存在するファイルの数もカウントする場合は、Get-ChildItem-Recurse パラメーターを使用する必要があります。

次の例は、サブディレクトリを含む、ディレクトリ 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-Object の組み込みエイリアスである measure コマンドを使用して、テキストファイル内のテキストを測定することもできます。

このコマンドは、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