Quel est l'équivalent Windows de «wc -l»?


53

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?


Vous pouvez également utiliser les outils GnuWin32 et avoir wc(bien, wc.exe...) gnuwin32.sourceforge.net
— ivanivan

Réponses:


66

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

Comment cela marche-t-il?

Selon Raymond Chen de The Old New Thing , cela fonctionne comme tel depuis

C'est une particularité de la findcommande que la chaîne NULL soit traitée comme ne correspondant jamais.

Le nombre inversé ( /v) count ( /c) compte donc effectivement toutes les lignes; par conséquent, la ligne compte.

Exemple d'utilisation

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 décompte ne l'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 batch.


PowerShell

Un équivalent de PowerShell en état de fonctionnement Measure-Object -linenécessite certains formats supplémentaires, par exemple (liste de répertoires par souci de simplicité),

(ls | Measure-Object -line).Lines

1
Merci d'avoir partagé. Créé un élément
— maheshwaghmare

11

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

type *.java | Measure-Object -line

3
bienvenue au superutilisateur: - la question portait sur CMD pas PowerShell, si vous pouvez répondre au PO, éditez votre réponse. ceux-ci peuvent aider Comment répondre , comment demander , aidez le centre à nouveau bienvenue à superuer et j'espère que vous reviendrez, merci
— mic84

9
Merci @ mic84. La question concerne la ligne de commande Windows. Et Microsoft tente de remplacer CMD par PowerShell: networkworld.com/article/3143196/windows/… C'est donc une réponse très utile.
— user3808394

-2

findstr / n / r.

Ceci est une expression rationnelle limitée, donc / n indique le numéro de ligne du match et "." correspond à n'importe quel personnage.


2
La question n'est pas comment afficher le fichier avec les numéros de ligne; la question est de savoir comment déterminer le nombre de lignes du fichier.
— Scott

Regardez le nombre de la dernière ligne, et c'est combien de lignes sont dans le fichier. La commande "find" fonctionne aussi, mais peut-être que findstr sera utile dans certains cas. Je l'ai trouvé.
— Gary Gatten le

Ce n’est pas une réponse très conviviale, d’autant plus que nous avons reçu quelques réponses plus directes. Mais, si telle est votre réponse,  modifiez-  la pour la rendre plus claire et complète.
— Scott
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.