“wc -l”的 Windows 等价物是什么?

Nia*_*all 88 windows command-line

什么是 Linux/Unix 命令的 Windows 等价物wc -l

基本上,您如何计算 Windows 命令行上的命令输出的行数?

Nia*_*all 106

Linux/Unix“行计数”命令 ,wc -l在 Windows 中等效于find /c /v "".

这是如何运作的?

根据The Old New Thing 的Raymond Chen的说法,这个功能是这样的,因为

find将空字符串视为从不匹配是该命令的一个特殊怪癖。

因此,倒置的 ( /v) 计数 ( /c) 有效地计算了所有行;因此,行数。

示例用法

要计算 subversion 工作副本中修改文件的数量:

svn status -q | find /c /v ""
Run Code Online (Sandbox Code Playgroud)

如果计数不是0,则可以使用这样的命令将构建标记为“脏” ,即工作副本中有未提交的更改。

要获取所有 Java 文件的行数:

(for /r %f in (*.java) do @type "%f") | find /c /v ""
Run Code Online (Sandbox Code Playgroud)

find /c /v ""如果需要,还可以将该命令添加到批处理文件中。请记住复制%批处理文件中的字符。


电源外壳

一个有效的 PowerShell 等效项Measure-Object -line需要一些额外的格式,例如(为简单起见,目录列表),

(ls | Measure-Object -line).Lines
Run Code Online (Sandbox Code Playgroud)


cre*_*tor 34

在 PowerShell 中,获取所有 java 文件的行数:

type *.java | Measure-Object -line
Run Code Online (Sandbox Code Playgroud)

  • 谢谢@mic84。问题是关于 Windows 命令行。而且微软正试图用 PowerShell 替换 CMD:https://www.networkworld.com/article/3143196/windows/microsoft-is-replacing-the-cmd-prompt-with-powershell.html 所以这是一个非常有用的答案. (14认同)
  • 欢迎超级用户: - 问题是关于 CMD 而不是 powershell,如果您能回答 OP,请编辑您的答案。这些可能有帮助[回答],[询问],[帮助]再次欢迎超级用户,我希望你回来,谢谢 (4认同)