wc コマンドと同等のことを Windows コマンドでやる

前回紹介した wc コマンドを Windows で再現したい。

$ wc -l *.txt

 10 hoge.txt

これを再現するには、こうする。

Find /v /c "" *.txt

---------- hoge.txt: 10

Find コマンドの /v オプションで「指定文字を含まない」検索条件にし、/c で「条件に該当する行数を表示」させる。つまり、「"" (空文字)」にマッチしない行数を表示させるというワケだ。

この場合の注意点は、ファイルの最終行に空行があっても、それをカウントしない。

テキストの内容による、それぞれのコマンドでの表示件数の違いは以下のとおり。

テキスト wc (Linux) find (Windows)
hoge fuga【EOM】 1 2
hoge fuga 【EOM】 2 2
hoge fuga 【空行】 [EOM】 3 2

最終行の状態がネックになるが、そこまで困ることもなかろう。調べる対象のファイルの性質に合わせて適宜プラスマイナス1行して数えれば良いワケで。w