Se la tua versione di wc
e find
supporta le opzioni necessarie:
find . -name pattern -print0 | wc -l --files0-from=-
che ti darà conteggi per file e un totale. Se vuoi solo il totale:
find . -name pattern -print0 | wc -l --files0-from=- | tail -n 1
Un'altra opzione per le versioni di find
che lo supportano:
find . -name pattern -exec cat {} + | wc -l
$ find . -name '*.txt' -exec cat '{}' \; | wc -l
Prende ogni file e cat
s it, quindi reindirizza tutto ciò attraverso wc
impostato sulla modalità conteggio righe.
Oppure, [non testato] strano nome file safe:
$ find . -name '*.txt' -print0 | xargs -0 cat | wc -l