PowerShell の文字、単語、行の数を数える
-
PowerShell で
Measure-Objectコマンドレットを使用して文字数をカウントする -
PowerShell で
Measure-Objectコマンドレットを使用して単語数をカウントする -
PowerShell で
Measure-Objectコマンドレットを使用して行数をカウントする -
PowerShell で
Measure-Objectコマンドレットを使用してディレクトリのすべてのファイルのテキストをカウントする -
PowerShell で
measureを使用して文字、単語、および行の数をカウントする
テキストファイルを操作するときは、ファイル内の文字、単語、および行の数を知る必要がある場合があります。文字、単語、行を数えるための多くのツールや Web サイトを見つけることができます。
ただし、コマンドラインを使用する場合は、PowerShell が優れたツールです。Measure-Object コマンドレットは、PowerShell のオブジェクトのプロパティ値を計算します。
テキストファイルなどの文字列オブジェクトの文字、単語、行の数値を表示します。このチュートリアルでは、PowerShell を使用して、テキストファイル内の文字、単語、および行の数をカウントする方法を説明します。
PowerShell で Measure-Object コマンドレットを使用して文字数をカウントする
Measure-Object コマンドレットは、コマンドで使用されるパラメーターに応じて計算を実行します。たとえば、コマンドでパラメータが指定されている場合にのみ、文字、単語、文字列オブジェクトの行などのプロパティ値を測定します。
-Character パラメーターは、Measure-Object に入力オブジェクトの文字数を計算するように指示します。
次のコマンドは、ディレクトリ C:\New の test.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:\New の test.txt ファイル内の単語数をカウントしています。
Get-Content C:\New\test.txt | Measure-Object -Word
出力:
Lines Words Characters Property
----- ----- ---------- --------
173
PowerShell で Measure-Object コマンドレットを使用して行数をカウントする
-Line パラメータは、入力オブジェクトの行数を計算するように Measure-Object に指示します。
次の例では、ディレクトリ C:\New の test.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 のテキストファイルの文字数、単語数、および行数をカウントする方法を学びました。
