36

クイック検索でtawbaware wcが表示されますが、stdout を入力ストリームとして受け入れないため、 DOSセッション内でパイプを使用できません。

ノート:

cygwin をインストールしたり、powershell を使用したりできません (「|foreach-object {(get-content $_).count}」が許可されていたはずです)。

unxutilsおよびgnuwin32パッケージには、この機能が含まれている可能性があります...

4

10 に答える 10

31

さらに簡単に、find /c. 元:

netstat -an | find /c "ESTABLISHED"

find /c: 文字列を含む行数のみを表示します。

于 2011-01-27T18:37:01.653 に答える
29

Windows 用に構築されたオリジナルの「wc」を使用できます。これはcoreutilsパッケージの一部です。最新の coreutils exeを取得します。

于 2008-10-29T15:33:44.417 に答える
9

Windows 上の UNIX ツールの場合、次のオプションがあります。

msys - unixtools に似ています。当初は mingw (gcc のネイティブ バージョン) に必要なビルド ツールはわずかでしたが、現在はほぼすべての cygwin ツールが含まれています。

cygwin - unix のほぼすべて、複雑なインストール、および unix api を提供するための dll が必要です。異なるバージョンの cygwin.dll でビルドされたツールを混在させると問題が発生する可能性があります

Unixtools - cygwin が提供するすべてのツールではなく、ネイティブにコンパイルされたツール

ch - ネイティブにコンパイルされたほとんどすべての UNIX ツール。そして、「c」インタープリターを含むシェル。標準バージョンは無料 (ビール) ですが、オープン ソースではありません。

uwin - ATT がなく、そのようなものが好きな場合は korn シェルが含まれています。

mksは UNIX ツールの商用ポートです。利用可能な無料バージョンを考えると、かなり高価です。

于 2008-10-29T15:45:44.267 に答える
5

試す:

find /c /v "~any string that will never occur~"

このコマンドは、検索文字列を含まないすべての行の数を示します。テストしたところ、ファイルの末尾にある空白行をカウントしていないように見えるという問題が見つかりました。

于 2010-12-04T16:18:34.123 に答える
3

同意できなくて申し訳ありませんが、 unxutilsには wc.exeがあります。

試してみる!

乾杯、

于 2008-10-29T15:34:31.390 に答える
3

私のunxutilsパックには単語数があります:

C:\Java\vssWorkspace\Java\portlets_core>wc -l C:\Users\malp\AppData\Local\Temp__portlets41366.html 79717 C:\Users\malp\AppData\Local\Temp__portlets41366.html

さらに、unxutils ページは、wc.exeが利用可能であることを示しています。wc.exeで処理できないものをお探しですか?

于 2008-10-29T15:34:49.033 に答える
2

git ログの行数をカウントする他の 2 つの (純粋な Windows CMD) 方法を次に示します。

set n=0
for /f %a in ('git log --oneline') do set /a n=n+1

または:

git log --online | find /v /c ""

最初のものの利点は、何かを行うことができる環境変数の値になることです。ただし、巨大なファイルではパフォーマンスが低下する可能性があります。

于 2012-09-25T23:26:42.900 に答える
0

WinXs 4.2もありますが、これはシェアウェアなので、必要なことを実行できるかどうかを確認できます。

このためのスクリプト言語をインストールできますか? やり過ぎかもしれませんが、最小限の手間で仕事が終われば...

于 2008-10-29T15:38:14.610 に答える
0

私はこのスレッドを見つけ、Windows に組み込まれているツールだけを使用して wc をエミュレートするための革新的なソリューションに魅了されました。これは、Web フォーム フィールドの最大文字数との戦いに勝つために、文字数の必要性に対する答えを刺激しました。警告。

バイト数を表示するwc -cが必要な場合は、Windows の DOS ユーティリティ (HELP コマンドでは表示されない) であるDEBUGを使用できます。文字数は、バイト数から行数を引いた値に改行のサイズを掛けた値 (Unix の場合は 1 つの改行文字 ('\n') または 2 文字、キャリッジ リターン + ラインフィード ('\cr' と '\lf' または ' \0Dh' '0Ah' DOS プレーン テキスト ファイルの場合。

文字数 = バイト数 - (行数 * sizeof("\n"))

これを行うには、コマンド ライン ウィンドウを開き (Start->Run->Open: "cmd")、プレーン テキスト ファイルでデバッグを実行し、ロードされたファイルの長さを含む CX レジスタを調べます。

デバッグ [パス名] -rcx CX [16 進数のファイル長] : -q

次に、ファイルに対して find を実行します。

find /v /c "notlikelystring" ---------- [パス名]: [行数]

そして式を適用します。

于 2012-08-04T01:28:59.210 に答える
-1

getgnuwin32は、gnuwin32(確かにwcユーティリティがあります)のダウンロードとインストールを容易にします。

于 2008-10-29T16:01:09.120 に答える