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.