Para el directorio actual:
find -type f | wc -l
Esto debería funcionar:
find DIR_NAME -type f | wc -l
Explicación:
-type f
para incluir solo archivos.|
(y no¦
) redirigefind
salida estándar del comando awc
entrada estándar del comando.wc
(abreviatura de recuento de palabras) cuenta líneas nuevas, palabras y bytes en su entrada (docs).-l
para contar solo saltos de línea.
Notas:
- Reemplazar
DIR_NAME
con.
para ejecutar el comando en la carpeta actual. - También puede eliminar el
-type f
para incluir directorios (y enlaces simbólicos) en el recuento. - Es posible que este comando cuente de más si los nombres de archivo pueden contener caracteres de nueva línea.
Explicación de por qué su ejemplo no funciona:
En el comando que mostraste, no usas el "Pipe" (|
) para conectar dos comandos, pero la barra rota (¦
) que el shell no reconoce como un comando o algo similar. Por eso recibes ese mensaje de error.