Cuente la cantidad de archivos en muchas carpetas y cuente la cantidad de caracteres en los nombres de los archivos en las carpetas

Cuente la cantidad de archivos en muchas carpetas y cuente la cantidad de caracteres en los nombres de los archivos en las carpetas

Tengo una pregunta sobre Linux que no puedo resolver. Intenté solucionarlo (también intenté buscar en el foro, pero no encontré ninguna pista) ni una forma de solucionarlo.

Pregunta:

Escriba comandos que cuenten la cantidad de archivos en las carpetas Verduras y Frutas juntas. La respuesta debe guardarse en un archivo CounterFood. Se permiten varios comandos.

Después de ejecutar estos comandos, se le solicitará que lo haga:

El número total de caracteres en los nombres de los archivos de las carpetas Verduras y Frutas se debe agregar al archivo CounterFood. Se pueden utilizar varios comandos.

Intentar

Pensé en hacer una inserción aritmética, pero no encontré ese comando.

ls -l . Vegetables Fruits  | egrep -c '^-' >> CounterFood

Intenté contar cuántos archivos había, pero no pude contar las dos carpetas juntas. Luego se me ocurrió esto: mi idea es acceder a las carpetas, encontrar todos los archivos y luego contarlos.

find Vegetables Fruits -type f | wc - >>CounterFood 

La continuación de la pregunta está directamente relacionada con el principio. Pero el principio no funcionó para mí, no puedo entender por qué.

Respuesta1

Parte 1

find Vegetables Fruits -type f -printf "x" | wc -c > CounterFood      # Print "x" for each filename and count them

Parte 2

si quisieras deciragregarentonces esto funcionará

namelen=$(find Vegetables Fruits -type f -printf "%f" | wc -c)        # Characters in file names
counterfood=$(cat CounterFood)                                        # Previous total

echo $((namelen + counterfood)) > CounterFood                         # Add them together

si quisieras deciradjuntarentonces esto funcionará

find Vegetables Fruits -type f -printf "%f" | wc -c >> CounterFood    # Characters in file names

Respuesta2

Número total de archivos en ambas carpetas:

expr `ls -l Vegetables | sed 1d | wc -l` + `ls -l Fruits | sed 1d | wc -l` >> CounterFood

Número total de caracteres de nombres de archivos en ambas carpetas:

expr `ls Vegetables | wc -c` + `ls Fruits  | wc -c` >> CounterFoods

¡Espero que esto ayude!

información relacionada