Risposte:
Se la tua versione 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 find
che lo supportano:
find . -name pattern -exec cat {} + | wc -l
Purtroppo l'output di:
find . -iname "yourpattern" -exec cat '{}' \; |wc -l
inserisce righe extra. Per ottenere un conteggio delle linee affidabile, è necessario:
find . -name "yourpattern" -print0 | xargs -0 wc -l
In questo modo gestisci correttamente gli spazi, ottieni un conteggio delle righe per ogni file e il conteggio totale delle righe, più veloce e con stile !!!
Un altro modo semplice per trovare no. righe in un file:
wc -l filename
Esempio:
wc -l myfile.txt
Non testato, ma che ne dici di qualcosa del tipo:
cat `find . -name "searchterm" -print` | wc -l
wc -l `find -name filename`
funzionerà in modo efficiente.