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