快速search给了我tawbaware wc ,但它不接受作为inputstream的标准输出,这意味着我不能在DOS会话中使用pipe道。
注意:我不能安装cygwin或使用powershell(这将允许一个'| foreach-object {(get-content $ _)。count}')
unxutils和和gnuwin32包可能有这个function…
您可以使用为Windows编译的原始“wc”:它是coreutils软件包的一部分。 获取最新的coreutils exe文件 。
更容易find /c
。 例如:
netstat -an | find /c "ESTABLISHED"
find /c
:只显示包含字符串的行数。
对于windows上的unix工具,你的选择是:
msys – similair to unixtools,原本只是一些与mingw(native版本的gcc)一起使用的构建工具,现在几乎所有的cygwin工具
cygwin – 几乎所有unix,复杂的安装,并需要一个DLL来提供unix API。 混合使用不同版本的cygwin.dll构建的工具可能会出现问题
Unix工具 – 并不是所有由cygwin提供的工具,而是本地编译的
几乎所有的unix工具,都是本地编译的。 还有一个包含“c”解释器的shell。 标准版本是免费的(啤酒),但不是开源的。
uwin – 从ATT免费,包括korn shell如果你喜欢这样的事情。
mks一个unix工具的商业端口。 鉴于免费版本可用,相当昂贵。
那么,我很抱歉不同意,但unxutils确实有一个wc.exe
试一试!
干杯,
我的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不能处理?
尝试:
find / c / v“〜永远不会发生的任何字符串〜”
该命令给出了不包含搜索字符串的所有行的计数。 在测试中,我确实看到一个问题,它似乎没有计算文件末尾的空行。
下面是另外两种(纯Windows CMD)方法来计算git日志中的行数:
set n=0 for /f %a in ('git log --oneline') do set /an=n+1
要么:
git log --online | find /v /c ""
第一个优点是你最终可以在一个环境变量中使用值。 但是它可能会执行很慢的文件。
还有WinXs 4.2 ,它是共享软件,所以你可以看看它是否会做你所需要的。
你能为此安装脚本语言吗? 这可能是矫枉过正的,但是如果它能够以最少的烦恼完成工作……
getgnuwin32方便下载和安装gnuwin32 (当然有wc工具)。
我发现了这个主题,并被创造性的解决方案所迷惑,仅仅使用了Windows内置的工具来模拟wc。这刺激了我需要一个字符数的答案,以便我可以在我的战斗中以Web表单字段的最大字符警告。
如果你想让wc -c给出一个字节数,你可以在Windows中使用DEBUG ,一个DOS实用程序(它没有被HELP命令列出)。 字符数应该等于字节数减去行数乘以换行符的大小,这是Unix的一个换行字符('\ n')或两个字符,回车+换行符('\ cr'和'\ lf'或' \ 0Dh''0Ah'为一个DOS纯文本文件。
字符计数=字节计数 – (行数* sizeof(“\ n”))
要做到这一点,打开一个命令行窗口(开始 – >运行 – >打开:“cmd”),运行调试纯文本文件,并检查CX寄存器,其中包含加载文件的长度:
调试[路径名] -rcx CX [文件长度十六进制]:-q
然后在文件上运行find:
find / v / c“notlikelystring”———- [路径名]:[行数]
并应用公式。