Per la directory corrente:
find -type f | wc -l
Dovrebbe funzionare:
find DIR_NAME -type f | wc -l
Spiegazione:
-type fper includere solo i file.|(e non¦) reindirizzafindl'output standard del comando inwcinput standard del comando.wc(abbreviazione di word count) conta newline, parole e byte sul suo input (docs).-lcontare solo le nuove righe.
Note:
- Sostituisci
DIR_NAMEcon.per eseguire il comando nella cartella corrente. - Puoi anche rimuovere
-type fper includere le directory (e i collegamenti simbolici) nel conteggio. - È possibile che questo comando superi il conteggio se i nomi dei file possono contenere caratteri di nuova riga.
Spiegazione del motivo per cui il tuo esempio non funziona:
Nel comando che hai mostrato, non usi il "Pipe" (| ) per collegare in qualche modo due comandi, ma la barra spezzata (¦ ) che la shell non riconosce come comando o qualcosa di simile. Ecco perché ricevi quel messaggio di errore.