Сводка после десятичной дроби в awk в ОС Solaris

Я хочу, чтобы общий размер файла в папке, используя определенный файл, начинающийся с имени как abc_1_* в Sun Solaris OS, потому что здесь я не могу использовать du-ch, в настоящее время я использую команду поиска, я получаю требуемый вывод, но я хочу округлить вывод после десятичного числа

Текущий код:-

echo `find $DUMPDIR -name "${DUMPFILE}*" -exec ls -ltr {} \;  | awk ' {s+=$5} END {print s/1024/1024/1024}'`

выход:-

  1.768932

Желаемый результат:-

1.7G

Пожалуйста, помогите мне с этим, я новичок в Solaris

2 ответа

Решение
find $DUMPDIR -name "${DUMPFILE}*" -exec ls -lh {} \; | awk '{print $5}'

Вы можете использовать расширение GNU -h вариант для ls печатать размеры в удобочитаемом формате. Примечание: как предложено @Andrew Henle, -h не гарантируется, что будет поддерживаться в ls ,

Или просто использовать,

ls -lh "$DUMPDIR/${DUMPFILE}*" | cut -d' ' -f 5

Вы можете округлить поплавок в awk с

awk 'BEGIN {fl=1.768932; printf("%.1f G\n", fl)}'
Другие вопросы по тегам