What is the Windows equivalent of the Linux/Unix command
Basically, how do you count the number of lines output from a command on the Windows command line?
The Linux/Unix "line count" command,
wc -l, has a Windows equivalent of
find /c /v "".
It is a special quirk of the
findcommand that the null string is treated as never matching.
The inverted (
/v) count (
/c) thus effectively counts all the lines;
hence, the line count.
To count the number of modified files in a subversion working copy:
svn status -q | find /c /v ""
Such a command can be used to mark a build as "dirty" if the count is not
0, i.e., there are uncommitted changes in the working copy.
To obtain a line count of all your Java files:
(for /r %f in (*.java) do @type "%f") | find /c /v ""
find /c /v "" can also be added to a batch file if required.
Remember to duplicate the
% characters in batch files.
A working PowerShell equivalent is
Measure-Object -line with some additional formatting required, e.g., (directory listing for simplicity),
(ls | Measure-Object -line).Lines
In PowerShell, to obtain a line count of all your java files:
type *.java | Measure-Object -line
findstr /n /r .
This is a limited regex, so /n shows the line number of the match, and "." is match any char.