102 votes

Quel est l'équivalent Windows de "wc -l" ?

Quel est l'équivalent Windows de la commande Linux/Unix wc -l ?

En gros, comment compter le nombre de lignes produites par une commande sur la ligne de commande Windows ?

124voto

Niall Points 3004

La commande Linux/Unix "line count", wc -l a un équivalent Windows de find /c /v "" .

Comment cela fonctionne-t-il ?

Selon Raymond Chen de la L'ancien et le nouveau truc ce qui fonctionne comme tel puisque

C'est une bizarrerie spéciale de la find que la chaîne nulle est traitée comme ne correspondant jamais.

L'inversé ( /v ) compte ( /c ) compte donc effectivement toutes les lignes ; d'où le nombre de lignes.

Exemple d'utilisation

Pour compter le nombre de fichiers modifiés dans une copie de travail de subversion :

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

Une telle commande peut être utilisée pour marquer un build comme étant "sale" si le compte n'est pas 0 c'est-à-dire qu'il y a des changements non validés dans la copie de travail.

Pour obtenir le 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é à un fichier batch si nécessaire.  N'oubliez pas de dupliquer le % les caractères dans les fichiers batch.


PowerShell

Un équivalent PowerShell fonctionnel est Measure-Object -line avec une mise en forme supplémentaire requise, par exemple (liste de répertoires pour plus de simplicité),

(ls | Measure-Object -line).Lines

38voto

crestor Points 481

Dans PowerShell, pour obtenir le nombre de lignes de tous vos fichiers java :

type *.java | Measure-Object -line

0voto

Gary Gatten Points 21

Findstr /n /r .

C'est une regex limitée, donc /n montre le numéro de ligne de la correspondance, et "." correspond à n'importe quel caractère.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X