Вам необходимо использовать опцию -c
из du
:
du -csh /path/to/lots/of/dir*/*/*/*.ext
Чтобы показать только окончательный счет, вы можете использовать tail -n 1
:
du -csh /path/to/lots/of/dir*/*/*/*.ext | tail -n 1
Когда переменная sizes
пуста, она будет заменена пустой строкой, как и ожидалось. И в соответствующей части скрипта awk
предполагается, что любая строка, начинающаяся с косой черты, будет началом регулярного выражения, но это действительное регулярное выражение, только если оно заканчивается другой косой чертой. Вы должны убедиться, что sizes
не пусто, чтобы скрипт работал.
set -o nounset
для получения уведомлений о неопределенных (непустых )переменных в ваших скриптах и в сочетании с -o errexit
для остановки скрипта при таких ошибках.