У меня есть следующая команда AWS CLI, которая подсчитывает размер всех сегментов:
aws s3 ls --summarize --human-readable --recursive s3://my-bucket/2012/
, и когда я ее запускаю, она выводит на консоль десятки строк, например (взят небольшой фрагмент):
2019-10-13 14:59:33 6.4 MiB 2012/11/01/00/2012-11-01T00:00:00Z.txt.gz
2019-10-13 15:00:14 8.3 MiB 2012/11/01/00/2012-11-01T00:01:00Z.txt.gz
2019-10-13 15:00:06 4.7 MiB 2012/11/01/00/2012-11-01T00:02:00Z.txt.gz
2019-10-13 15:00:14 4.3 MiB 2012/11/01/00/2012-11-01T00:03:00Z.txt.gz
2019-10-13 14:59:33 4.3 MiB 2012/11/01/00/2012-11-01T00:04:00Z.txt.gz
2019-10-13 15:00:11 4.0 MiB 2012/11/01/00/2012-11-01T00:05:00Z.txt.gz
2019-10-13 15:00:11 3.9 MiB 2012/11/01/00/2012-11-01T00:06:00Z.txt.gz
2019-10-13 14:59:43 3.8 MiB 2012/11/01/00/2012-11-01T00:07:00Z.txt.gz
2019-10-13 14:59:56 3.6 MiB 2012/11/01/00/2012-11-01T00:08:00Z.txt.gz
2019-10-13 15:00:14 3.8 MiB 2012/11/01/00/2012-11-01T00:09:00Z.txt.gz
2019-10-13 15:00:14 4.0 MiB 2012/11/01/00/2012-11-01T00:10:00Z.txt.gz
2019-10-13 15:00:17 4.1 MiB 2012/11/01/00/2012-11-01T00:11:00Z.txt.gz
2019-10-13 15:00:17 3.9 MiB 2012/11/01/00/2012-11-01T00:12:00Z.txt.gz
2019-10-13 15:00:17 3.8 MiB 2012/11/01/00/2012-11-01T00:13:00Z.txt.gz
2019-10-13 15:00:22 2.9 MiB 2012/11/01/00/2012-11-01T00:14:00Z.txt.gz
2019-10-13 15:00:37 4.3 MiB 2012/11/01/00/2012-11-01T00:15:00Z.txt.gz
Total Objects: 300
Total Size: 1.7 GiB
Я пытаюсь проверить, есть ли у меня сценарий Bash / Shell, который будет анализировать размер каждого сегмента, например, 6,4 МиБ, 8,3 Mib, 4.7 MiB и т. Д. ... и проверьте минимальный порог. Если какой-либо из этих сегментов меньше 3,0 МБ, он напечатает название этого сегмента и скажет мне, в противном случае он будет продолжен.
В этом примере только один из них имеет размер менее 3,0 МБ, поэтому он напечатает:
2019-10-13 15:00:22 2,9 МБ 2012/11/01 /00 / 2012-11-01T00: 14: 00Z.txt.gz