你知道Windows上的wc(unix字数统计命令)类似的程序吗? [关闭]
题
快速搜索给了我 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 - similair to unixtools,最初只需要一些构建工具来配合mingw(原生版本) gcc),现在几乎拥有所有的cygwin工具
cygwin - 关于unix,复杂安装的每个标志,需要一个dll才能提供unix api。混合使用不同版本的cygwin.dll构建的工具可能会出现问题
Unixtools - 不是cygwin提供的所有工具,而是本地编译的
ch - 几乎所有unix工具,本机编译。还有一个包含'c'解释器的shell。标准版本是免费的(啤酒)但不是开源的。
uwin - 免费使用ATT,包括korn shell如果你就像那样的东西。
mks unix工具的商业端口。鉴于可用的免费版本,相当昂贵。
尝试:
find /c /v "~any string that will never occur~"
此命令显示不包含搜索字符串的所有行的计数。测试它,我看到一个问题,它似乎不计算文件末尾的空白行。
我的 unxutils 包有字数:
C:\爪哇\ vssWorkspace \ java中\ portlets_core> WC -l C:\ Users \ malp \ AppData \ Local \ Temp__portlets41366.html 79717 C:\ Users \用户MALP \应用程序数据\本地\ Temp__portlets41366.html
此外,unxutils页面指示 wc.exe 可用。您是否正在寻找 wc.exe 无法处理的内容?
以下是另外两种(纯Windows CMD)方法来计算git日志中的行:
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中的 DEBUG ,一个DOS实用程序(HELP命令未列出)。字符数应等于字节数减去行数乘以换行符的大小,换行符是Unix的一个换行符('\ n')或两个字符,回车符+换行符('\ cr'和'\ lf'或' \ 0Dh''0Ah'表示DOS纯文本文件。
字符数=字节数 - (行数* sizeof(“\ n”))
要执行此操作,请打开命令行窗口(开始 - >运行 - >打开:“cmd”),在纯文本文件上运行debug并检查包含加载文件长度的CX寄存器: / p>
调试[pathname] -rcx CX [文件长度为十六进制] : -q
然后在文件上运行find:
find / v / c“notlikelystring” ---------- [路径名]:[行数]
并应用公式。