Posts Tagged ‘Commandes Unix’

Compter récursivement le nombre de lignes avec wc (Word Count)

lundi, août 1st, 2011

Comme j’ai passé beaucoup de temps à programmer sur Txt2tags en juin et en juillet, j’ai été amené à comparer avec mon ami Carl le nombre de lignes de code de nos projets libres respectifs. Or, contrairement à grep, wc ne fournit pas d’option -r pour activer la récursivité.

Pour pallier cela, l’utilisation des classiques commandes Unix find et xargs est de rigueur. Ainsi, pour avoir le nombre total de lignes de tous les fichiers du répertoire faites :

$ find . -type f | xargs wc -l

Si, comme moi, seuls les fichiers python vous intéressent, vous pouvez ajouter un grep au milieu qui filtrera tous les noms de fichier se finissant par .py :

$ find . -type f | grep .py$ | xargs wc -l

Ou, encore plus simple, vous pouvez utiliser l’option -name de find :

$ find . -name "*.py" | xargs wc -l