Windowsで「wc -l」に相当するものは何ですか?


53

Linux / Unixコマンドに相当するWindowsとは何wc -lですか?

基本的に、Windowsコマンドラインのコマンドから出力される行数をどのようにカウントしますか?


また、GnuWin32ツールを使用して、実際に持っている可能性がwc(まあ、wc.exe...)gnuwin32.sourceforge.net
ivanivan

回答:


66

Linux / Unixの「行数」コマンドwc -lには、Windowsに相当するものがありfind /c /v ""ます。

これはどのように作動しますか?

The Old New ThingのRaymond Chenによれば、これは

findNULL文字列が一致しないものとして扱われるのは、コマンドの特殊な癖です。

したがって、反転(/v)カウント(/c)は、すべての行を効果的にカウントします。したがって、行数。

使用例

Subversion作業コピー内の変更されたファイルの数をカウントするには:

svn status -q | find /c /v ""

そのようなコマンドは、カウントがでない場合0、つまり、作業コピーにコミットされていない変更がある場合、ビルドを「ダーティ」としてマークするために使用できます。

すべてのJavaファイルの行数を取得するには:

(for /r %f in (*.java) do @type "%f") | find /c /v ""

find /c /v ""必要に応じて、コマンドをバッチファイルに追加することもできます。%バッチファイルで文字を複製することを忘れないでください。


パワーシェル

同等の機能するPowerShellにはMeasure-Object -line、追加の書式設定が必要です。たとえば、(簡単にするためにディレクトリ一覧を表示します)、

(ls | Measure-Object -line).Lines

1
共有してくれてありがとう。参考のために要点を作成-gist.github.com/a4ede7054b2ce5ee2708dd49bbd5a1a1
maheshwaghmare

11

PowerShellで、すべてのJavaファイルの行数を取得するには:

type *.java | Measure-Object -line

3
スーパーユーザーへようこそ:-質問はpowershellではなくCMDについてでした。OPに回答できる場合は、回答を編集してください。これらの5月の助け答える方法を依頼する方法ヘルプセンターを再びsuperuerに歓迎し、私はあなたが返す願って、ありがとう
mic84

9
ありがとう@ mic84。問題は、Windowsコマンドラインに関するものです。そして、MicrosoftはCMDをPowerShellに置き換えようとしています: networkworld.com/article/3143196/windows/… これは非常に便利な答えです。
user3808394

-2

findstr / n / r。

これは制限された正規表現であるため、/ nは一致の行番号と「。」を示します。任意の文字に一致します。


2
問題は、行番号でファイルを表示する方法ではありません。問題は、ファイル内の行数を決定する方法です。
スコット

最後の行の番号を見てください。これがファイル内の行数です。「find」コマンドも機能しますが、場合によってはfindstrが役立つことがあります。私はそれがわかった。
ゲイリーガッテン

特に直接的な他の回答がいくつか寄せられていることを考えると、これはあまりユーザーフレンドリーな回答ではありません。しかし、それがあなたの答えなら、それを   より明確で完全にするためにあなたの答えを編集してください。
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.