Windows下相当于“ wc -l”的是什么?


Answers:


65

Linux / Unix的“行数”命令wc -lWindows等效于find /c /v ""。

这是如何运作的?

根据The Old New Thing的Raymond Chen的说法,自

find命令的一个特殊之处在于,将空字符串视为从不匹配。

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

用法示例

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

svn status -q | find /c /v ""

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

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

(for /r %f in (*.java) do @type "%f") | find /c /v ""

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


电源外壳

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

(ls | Measure-Object -line).Lines

1
感谢分享。创建了一个摘要
— maheshwaghmare

11

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

type *.java | Measure-Object -line

3
欢迎超级用户:-问题是关于CMD而不是powershell,如果您可以回答OP,请编辑您的回答。这些可能会有所帮助如何回答,如何提问,帮助中心再次欢迎您光临,我希望您回来,谢谢
— mic84 '18

9
谢谢@ mic84。问题是关于Windows命令行。微软正在尝试用PowerShell替换CMD: networkworld.com/article/3143196/windows/… 因此,这是一个非常有用的答案。
— user3808394

-2

findstr / n / r。

这是一个受限制的正则表达式,因此/ n显示匹配项的行号和“。”。与任何字符匹配。


2
问题不在于如何显示带有行号的文件;问题是如何确定文件中的行数。
— 斯科特(Scott)

查看最后一行的编号,这就是文件中的多少行。“ find”命令也可以,但是在某些情况下findstr可能会有用。我发现是这样。
— 加里·加滕

这不是一个非常人性化的答案,尤其是考虑到我们收到了另外两个更直接的答案。但是,如果这是您的答案,请  修改  您的答案,使其更清晰,更完整。
— 斯科特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.