使用内置工具FIND统计cmd.exe输出的行数很是方便! 缓存
在命令行环境中工做时,可以统计不一样工具的输出结果的行数有时会很是有用。许多Unix/Linux操做系统都包含带有许多功能选项的wc 工具,Windows则没有内置同样的替代品,可是Windows命令提示符(cmd.exe)原生支持了部分相同功能。 服务器
本文将讲述在cmd.exe中咱们能够如何使用FIND 工具来统计行数。工具find,有些相似于Unix上的grep,自MS-DOS以来就一直存在, 使用简单。 工具
假设咱们有一台Windows服务器,想看看当前有多少个活跃的TCP会话。这可使用netstat命令,而且经过管道链接FIND来查找已创建的会话。 操作系统
netstat -ano | find /i "estab" 命令行
这行命令的输出可能会有几百行以致于占满整个命令提示符窗口,而咱们可能仅仅关心会话的数目。经过在这行命令以后增长一个/c 开关选项, 咱们就能获得打开的TCP会话的数目。 日志
咱们仍然使用上一个命令的过滤规则(经过查找字符串“estab”来找到包含ESTABLISHED状态的行)但带有/c,这样就会仅显现匹配行的数目。 dns
以下另外一个示例则是查看本地缓存的DNS记录的数目。 事件
选项/c也能够用于统计一个命令输出的全部行。例如,咱们想知道目录服务(Active Directory)中分组的数目。经过一个管道链接到FIND /v "" /c , 咱们能统计全部不匹配(/v )空字符串("")的行(即非空白行)。若是你使用过Unix工具wc,这就至关于wc -l 。 字符串
另外一个示例是:事件查看器命令行工具wevtutil 会输出大量日志数据行。若是仅仅想知道现代Windows系统中不一样日志的数目,咱们能够将几百个日志文件的文件名 经过管道传输给FIND /v "" /c。 cmd
最后一个示例是:假设有一个日志文件或者相似文件,总共有上千行内容。咱们想快速知道包含特定短语的数据行的数目。
TYPE C:\Windows\Schedlgu.txt | FIND /i "task failure" /c