Tenho uma dúvida sobre Linux que não consigo resolver. Tentei resolver - também tentei pesquisar no fórum, mas não encontrei nenhuma pista - ou uma forma de resolver.
Pergunta:
Escreva comandos que contem a quantidade de arquivos nas pastas Legumes e Frutas juntos. A resposta deve ser salva em um arquivo CounterFood. Vários comandos são permitidos.
Depois de executar esses comandos, você será solicitado a fazê-lo:
O número total de caracteres dos nomes dos arquivos das pastas Legumes e Frutas deve ser adicionado ao arquivo CounterFood. Vários comandos podem ser usados.
Tentar
Pensei em fazer uma inserção aritmética - mas não encontrei tal comando.
ls -l . Vegetables Fruits | egrep -c '^-' >> CounterFood
Tentei contar quantos arquivos havia - mas não consegui contar as duas pastas juntas. Aí eu pensei nisso - minha ideia é acessar as pastas - e encontrar todos os arquivos - e depois contá-los
find Vegetables Fruits -type f | wc - >>CounterFood
A continuação da pergunta está diretamente relacionada ao início. Mas o começo não deu certo para mim - não consigo entender por quê.
Responder1
Parte 1
find Vegetables Fruits -type f -printf "x" | wc -c > CounterFood # Print "x" for each filename and count them
Parte 2
Se você quis dizeradicionareles então isso vai 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
Se você quis dizeracrescentareles então isso vai funcionar
find Vegetables Fruits -type f -printf "%f" | wc -c >> CounterFood # Characters in file names
Responder2
Número total de arquivos em ambas as pastas:
expr `ls -l Vegetables | sed 1d | wc -l` + `ls -l Fruits | sed 1d | wc -l` >> CounterFood
Número total de caracteres de nomes de arquivos em ambas as pastas:
expr `ls Vegetables | wc -c` + `ls Fruits | wc -c` >> CounterFoods
Espero que isso ajude!