Si vous voulez une réponse de type "code-golf" :
grep '' -R . | wc -l
Le problème avec l'utilisation de wc -l seul est qu'il ne peut pas bien descendre, et les oneliners utilisant
find . -exec wc -l {} \;
Il ne vous donnera pas le nombre total de lignes car il exécute wc une fois pour chaque fichier, ( loL ! ) et
find . -exec wc -l {} +
Je vais m'embrouiller dès que Find atteindra les 200 000 euros. 1 , 2 limite de caractères pour les paramètres et appelle à la place wc multiple fois, en ne vous donnant à chaque fois qu'un résumé partiel.
De plus, l'astuce grep ci-dessus n'ajoutera pas plus d'une ligne à la sortie lorsqu'elle rencontrera un fichier binaire, ce qui pourrait être bénéfique pour les circonstances.
Au prix d'un caractère de commande supplémentaire, vous pouvez ignorer complètement les fichiers binaires :
grep '' -IR . | wc -l
Si vous souhaitez également effectuer des comptages de lignes sur des fichiers binaires
grep '' -aR . | wc -l
Note de bas de page sur les limites :
Les documents sont un peu vagues quant à savoir s'il s'agit d'une chaîne de caractères ou une limite de taille nombre de jetons limite.
cd /usr/include;
find -type f -exec perl -e 'printf qq[%s => %s\n], scalar @ARGV, length join q[ ], @ARGV' {} +
# 4066 => 130974
# 3399 => 130955
# 3155 => 130978
# 2762 => 130991
# 3923 => 130959
# 3642 => 130989
# 4145 => 130993
# 4382 => 130989
# 4406 => 130973
# 4190 => 131000
# 4603 => 130988
# 3060 => 95435
Cela implique qu'il va se briser très très facilement.