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 のテキストファイルの文字数、単語数、および行数をカウントする方法を学びました。