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!