find . -type f -iname '*.msh' -exec ls -lG {} \; | awk '{total = total + $4}END{print "scale=2;" total "/2^20"}' | bc
Команда «find . -type f -iname ‘*.msh’ -exec ls -lg {} \; | awk ‘{total = total + $4}end{print «scale=2;» total «/2^20″}’ | bc» ищет все файлы с расширением «*.msh» в текущем каталоге и его подкаталогах, а затем с помощью команды «ls» выводит их размеры в байтах. Далее с помощью команды «awk» происходит подсчет суммарного размера этих файлов, суммируя значения четвертого столбца вывода команды «ls». Команда «awk» используется для математических вычислений, где результат делится на 2^20 (1 МБ = 2^20 байт) с точностью до двух знаков после запятой, и с помощью команды «bc» результат выводится на экран.
Эта команда полезна для определения общего размера файлов определенного расширения в МБ. Альтернативным подходом могло бы быть использование команды «du», которая также может вывести размер файлов, но без возможности фильтрации по расширению. Другие альтернативы могут включать использование языков программирования, таких как Python или Perl, для написания скрипта, который будет выполнять аналогичные операции.