Используйте numfmt --from=...
для преобразования размеров файлов в байты, тогда вы сможете легко суммировать их:
curl -s $URL | html2text -width $COLUMNS \
| awk '$3~/\.mp4/{print $6}' \
| LC_ALL=C numfmt --from=iec \
| paste -sd+ | bc
58044134197
| numfmt --to=iec
, чтобы снова получить удобочитаемые размеры, а также, если хотите, --format '%.1f'
, чтобы получить десятичные разряды. --from=si
для 1000 -размеров файлов. LC_ALL=C
, но я получаю сообщение об ошибке с 1.1G
. Попробуйте это,
cat file | awk '{($NF ~ /G/)?$NF=$NF*1024:$NF=$NF*1} {sum += $NF} END {print sum}'
G
может быть, вы можете заменить NF на 6, поскольку вы упомянули его как 6-е поле вместо последнего