web-dev-qa-db-ja.com

Windowsでwc(unix Word countコマンド)用の同様のプログラムを知っていますか?

クイック検索で tawbaware wc が得られますが、入力ストリームとしてstdoutを受け入れません。つまり、[〜#〜] dos [〜 #〜]セッション。

注:

Cygwinをインストールしたり、powershellを使用したりすることはできません( '|foreach-object {(get-content $_).count}'を許可していました)

nxutils およびand gnuwin32 パッケージにはこの機能があります...

36
VonC

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

29
florin

さらに簡単に、find /c。例:

netstat -an | find /c "ESTABLISHED"

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

30
jeff drake

Windows上のUNIXツールのオプションは次のとおりです。

msys -similair to unixtools、もともとはmingw(gccのネイティブバージョン)を使用するために必要ないくつかのビルドツールでしたが、現在ではほぼすべてのcygwinツールがあります

cygwin -ほぼすべてのUNIXの複雑なインストールで、unix APIを提供するためにdllが必要です。 cygwin.dllの異なるバージョンでビルドされたツールを混合する際に問題になる可能性があります

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

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

win -ATTがなく、そのようなことが好きな場合はkornシェルが含まれます。

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

9
Martin Beckett

試してください:

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

このコマンドは、DO NOTに検索文字列が含まれるすべての行の数を返します。それをテストすると、ファイルの最後の空白行をカウントしないように見えるという問題があります。

5
Dan S.

さて、私は反対するのは残念ですが、 nxutils にはwc.exeがあります

試してみる!

乾杯、

3
Vinzz

私の nxutils パックにはワード数があります:

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が処理しないものをお探しですか?

3
Miguel Ping

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 ""

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

2
user1698758

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

wc -cが必要な場合は、バイト数を指定できます[〜#〜] debug [〜#〜]、DOSユーティリティ(リストされていません) WindowsのHELPコマンド)。文字数は、バイト数から行数を引いた値に改行のサイズを足したものに等しくなければなりません。これは、Unixの場合は1つの改行文字( '\ n')またはキャリッジリターン+ラインフィード( '\ cr'および '\ lf'または '\0Dh 'DOSプレーンテキストファイルの場合は' 0Ah '。

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

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

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

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

/ v/c "notlikelystring"を見つける---------- [パス名]:[行数]

そして、式を適用します。

0
user1575451

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

0
jfs

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

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

0
marty