Si votre version de wc
et find
prennent en charge les options nécessaires :
find . -name pattern -print0 | wc -l --files0-from=-
qui vous donnera le nombre 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 de find
qui le supportent :
find . -name pattern -exec cat {} + | wc -l
$ find . -name '*.txt' -exec cat '{}' \; | wc -l
Prend chaque fichier et cat
c'est ça, puis dirige tout ça à travers wc
mis en mode de comptage de lignes.
Ou, [non testé] étrange nom de fichier sûr :
$ find . -name '*.txt' -print0 | xargs -0 cat | wc -l