Quel est l'équivalent Windows de la commande Linux/Unix wc -l
?
Fondamentalement, comment comptez-vous le nombre de lignes générées par une commande sur la ligne de commande Windows?
wc -l
, la commande Linux/Unix "nombre de lignes" a un équivalent Windows de find /c /v ""
.
Selon Raymond Chen du The Old New Thing , cela fonctionne comme tel depuis
C'est une particularité de la commande
find
que la chaîne NULL soit traitée comme ne correspondant jamais.
Le nombre inversé (/v
) (/c
) compte donc efficacement toutes les lignes; par conséquent, la ligne compte.
Pour compter le nombre de fichiers modifiés dans une copie de travail Subversion:
svn status -q | find /c /v ""
Une telle commande peut être utilisée pour marquer une construction comme "sale" si le compte n'est pas 0
, c'est-à-dire s'il y a des modifications non validées dans la copie de travail.
Pour obtenir un nombre de lignes de tous vos fichiers Java:
(for /r %f in (*.Java) do @type "%f") | find /c /v ""
La commande find /c /v ""
peut également être ajoutée à un fichier de commandes, si nécessaire. N'oubliez pas de dupliquer les caractères %
dans des fichiers de traitement par lots.
PowerShell
L'équivalent de PowerShell en état de marche est Measure-Object -line
avec certaines mises en forme supplémentaires requises, par exemple, (liste de répertoires par souci de simplicité),
(ls | Measure-Object -line).Lines
Dans PowerShell, pour obtenir un nombre de lignes de tous vos fichiers Java:
type *.Java | Measure-Object -line