【コマンドプロンプト】ファイルの行数を取得するコマンド


この記事はプロモーションを含みます。

Linuxの[wc -l]のように、ファイルやコマンド実行結果の行数を取得する方法を解説します。

はじめに

Windowsのコマンドプロンプトで、下記項目の行数を取得する方法を説明します。
イメージとしては、Linuxの「wc -l」コマンドのような感じです。

このようなデータの行数を取得することが出来ます
  • テキストファイル
  • コマンドの実行結果

テキストファイルの行数を取得する

ここでは、テキストファイルの行数を取得する方法を説明します。
取得する方法は2つあるので、それぞれ説明したいと思います。

試しに、以下のようなテキストファイルの行数を取得してみます。

1行目

3行目

5行目

取得方法1

typeコマンドを使用する方法です。

c:\workspace>type サンプルファイル.txt | find /c /v ""
5

途中の改行も含めて、正しく行数が取得されていることが分かります。

typeコマンドについては、下記で解説しているので参考にしてみて下さい。

取得方法2

リダイレクトを使用する方法です。

c:\workspace>find /c /v "" < サンプルファイル.txt
5

途中の改行も含めて、正しく行数が取得されていることが分かります。

こちらの方法には、1つ注意点があります。
それは、テキストファイルの最終行が改行の場合は、その行はカウントされません。
今回の例で使用したサンプルファイルは、5行目までありますが、もし6行目に改行がある場合でも取得行数が「5」と表示されます。
この問題は、取得方法1のtypeコマンドを使用する方法で回避出来ます。

コマンド実行結果の行数を取得する

ここでは、コマンド実行結果の行数を取得する方法を説明します。

下記のような、dirコマンドの実行結果が何行かを取得してみたいと思います。
まず、dirコマンドの実行結果をみてみます。

c:\workspace>dir /s /b
c:\workspace\1.txt
c:\workspace\2.txt
c:\workspace\3.txt
c:\workspace\4.txt
c:\workspace\5.txt

次に、行数を取得してみます。

c:\workspace>dir /s /b | find /c /v ""
5

取得結果は5行となっており、コマンド実行結果の行数が正しく取得されていることが分かります。

コメント

タイトルとURLをコピーしました