Windowsでwc(unix word countコマンド)用の同様のプログラムを知っていますか? [閉まっている]
質問
クイック検索では tawbaware wc が提供されますが、入力ストリームとしてstdoutは受け入れられません。つまり、 DOS セッション内ではパイプを使用できません。
注:
cygwinをインストールしたり、Powershellを使用したりすることはできません( ' | foreach-object {(get-content $ _)。count}
')
解決
Windows用に構築された元の" wc"を使用できます。これは coreutilsの一部ですパッケージ。 最新のcoreutils exe を入手してください。
他のヒント
さらに簡単に、 find / c
。
例:
netstat -an | find /c "ESTABLISHED"
find / c
:文字列を含む行数のみを表示します。
Windows上のUNIXツールのオプションは次のとおりです。
msys -もともとmingw(ネイティブバージョンgccの)、ほぼすべてのcygwinツールがあります
cygwin -ほぼすべてのUNIXの複雑なインストールで、unix APIを提供するためにdllが必要です。 cygwin.dllの異なるバージョンで構築されたツールを混合する際に問題になる可能性があります
Unixtools -cygwinが提供するすべてのツールではなく、ネイティブにコンパイルされた
ch -ネイティブにコンパイルされたほとんどすべてのUNIXツール。 「c」インタープリターを含むシェル。標準バージョンは無料(ビール)ですが、オープンソースではありません。
uwin -ATTから無料。そのようなものが好きです。
mks UNIXツールの商用ポート。利用可能な無料バージョンを考えると、かなり高価です。
試してください:
find /c /v "~any string that will never occur~"
このコマンドは、検索文字列が含まれていないしないすべての行の数を返します。それをテストすると、ファイルの最後の空白行をカウントしないように見えるという問題があります。
私の 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 が処理しないものをお探しですか?
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 ""
最初の利点は、環境変数に値を設定できることです。ただし、巨大なファイルではパフォーマンスが低下する可能性があります。
WinXs 4.2 もあり、シェアウェアなので、必要なことを行うかどうかを確認できます。
このためのスクリプト言語をインストールできますか?やり過ぎかもしれませんが、最小限の手間で仕事が完了したら...
getgnuwin32 は、gnuwin32のダウンロードとインストールを容易にします(確かにwcユーティリティがあります) )。
このスレッドを見つけて、Windowsに組み込まれているツールだけを使用してwcをエミュレートする革新的なソリューションに魅了されました。これは、Webフォームとの戦いで勝つために、文字数の必要性に対する答えを刺激しましたフィールドの最大文字数警告。
バイトカウントを提供する wc -c が必要な場合は、WindowsのDOSユーティリティ(HELPコマンドでは表示されない)である DEBUG を使用できます。文字数は、バイト数から行数を引いた値に改行のサイズを掛けたものである必要があります。これは、Unixの場合は1つの改行文字( '\ n')またはキャリッジリターン+ラインフィード( '\ cr'および '\ lf'または ' DOSプレーンテキストファイルの場合は\ 0Dh '' 0Ah '。
文字数=バイト数-(行数* sizeof(" \ n"))
これを行うには、コマンドラインウィンドウを開き(Start-> Run-> Open:" cmd")、プレーンテキストファイルでデバッグを実行し、読み込まれたファイルの長さを含むCXレジスタを調べます:
デバッグ[パス名] -rcx CX [16進数のファイル長] : -q
ファイルでfindを実行します:
find / v / c" notlikelystring" ---------- [パス名]:[行数]
そして式を適用します。