У меня есть один вопрос по Linux, который я не могу решить. Я пытался его решить - я также пытался искать на форуме, но не нашел подсказки - или способа решить его.
Вопрос:
Напишите команды, которые подсчитывают количество файлов в папках «Овощи» и «Фрукты» вместе. Ответ должен быть сохранен в файле CounterFood. Разрешено несколько команд.
После выполнения этих команд вам будет предложено сделать следующее:
Общее количество символов в именах файлов в папках «Овощи» и «Фрукты» необходимо добавить в файл CounterFood. Можно использовать несколько команд.
Пытаться
Я думал сделать арифметическую вставку, но такой команды не нашел.
ls -l . Vegetables Fruits | egrep -c '^-' >> CounterFood
Я пытался посчитать, сколько там файлов, но не смог посчитать две папки вместе. Тогда я придумал это — моя идея — получить доступ к папкам, найти все файлы, а затем посчитать их.
find Vegetables Fruits -type f | wc - >>CounterFood
Продолжение вопроса напрямую связано с началом. Но начало у меня не получилось - не могу понять почему.
решение1
Часть 1
find Vegetables Fruits -type f -printf "x" | wc -c > CounterFood # Print "x" for each filename and count them
Часть 2
Если вы имели в видудобавлятьтогда это сработает
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
Если вы имели в видудобавитьтогда это сработает
find Vegetables Fruits -type f -printf "%f" | wc -c >> CounterFood # Characters in file names
решение2
Общее количество файлов в обеих папках:
expr `ls -l Vegetables | sed 1d | wc -l` + `ls -l Fruits | sed 1d | wc -l` >> CounterFood
Общее количество символов в именах файлов в обеих папках:
expr `ls Vegetables | wc -c` + `ls Fruits | wc -c` >> CounterFoods
Надеюсь, это поможет!