Réponses:
Si votre version de wc
et prend en find
charge les options nécessaires:
find . -name pattern -print0 | wc -l --files0-from=-
ce qui vous donnera un nombre de fichiers par fichier ainsi qu'un total. Si vous ne voulez que le total:
find . -name pattern -print0 | wc -l --files0-from=- | tail -n 1
Une autre option pour les versions find
qui le supportent:
find . -name pattern -exec cat {} + | wc -l
Malheureusement, la sortie de:
find . -iname "yourpattern" -exec cat '{}' \; |wc -l
insère des lignes supplémentaires. Pour obtenir un nombre de lignes fiable, vous devez:
find . -name "yourpattern" -print0 | xargs -0 wc -l
De cette façon, vous gérez les espaces correctement, obtenez un nombre de lignes pour chaque fichier et le nombre total de lignes, plus rapidement et avec style !!!
Un autre moyen facile de trouver non. lignes dans un fichier:
wc -l filename
Exemple:
wc -l myfile.txt
Non testé, mais que diriez-vous de quelque chose comme:
cat `find . -name "searchterm" -print` | wc -l
wc -l `find -name filename`
fonctionnera efficacement.