コスパ重視で生きたい人生だった

なるべく楽して生きて行きたい30代サラリーマンのブログ

コマンドプロンプトでファイルの行数を数える方法


ファイルの行数数えたいとき、ありますよね。
でも手で数えるのがめんどくさい。
Linuxならwcコマンドがあるのに!
そんなあなたに、コマンドプロンプトで行数を出力する方法。


findコマンドを使って行数を数えてみる

「find」コマンドは「指定したファイルから指定した文字列を含む行を検索し結果を表示」するコマンドです。
で、今回はオプションとして、

/v 指定した文字列を含まない行を全て表示する
/c 指定した文字列を含む行の数だけを表示する

を指定。
で、

find /v /c "" sample.txt

とするとsample.txtの行数が表示されます。

ただ、この場合はバグ?で最後の行が空行だった場合カウントされない(14行のはずが、最後の空行がカウントされず13行になったり)そうです。
これを回避するためにはパイプで渡せばいいそうで、

type sample.txt | find /c /v ""

こんな感じ。

[応用]あるフォルダの中の全ファイルの行数をファイルごとに表示する方法

まず、該当のフォルダのファイル名一覧を取得。

dir /b > filelist.txt

続いて、リストにある各ファイルの行数を取得。

for /F %%i in ( filelist.txt ) do type "%%i" | find /c /v "" >> num.txt

簡単。あとは二つをエクセルにでも貼り付けてみてください。
(※コマンドプロンプト上で二つのファイルを横に結合(linuxでいうpaste)をやろうとしたけど、うまくいかなかったです・・・)

そんじゃまた。

Windows コマンドプロンプト ポケットリファレンス

Windows コマンドプロンプト ポケットリファレンス