@DetRyg

Функция для подсчета среднего размера файла в директории на Bash?

Нужно составить функцию для подсчета среднего размера файла в директории. При этом функция должна проверять директорию на существование, и после этого выводить средний размер файлов в директории. Так же из подсчетов нужно исключить поддиректории и символьные ссылки

Я попал в тупик, и дальше этой функции не могу уйти...
stat -c '%F %s' /mydir/.* *
  • Вопрос задан
  • 2719 просмотров
Пригласить эксперта
Ответы на вопрос 2
@mc2
find $1 -type f -ls|awk '{sum+=$7}END{print sum/NR}'
Ответ написан
Комментировать
karabanov
@karabanov
Системный администратор
#!/bin/bash

# uncomment for debug
#set -x

function get_avg_size() {

  [ ! -d "$1" ] && echo "Directory $1 DOES NOT exists." && exit 1

  sum_size=0
  count=0

  for size in $(LC_ALL=C stat -c '%F %s' $1/* | grep 'regular file' | cut -d ' ' -f 3); do
    let sum_size=$sum_size+$size
    let count=$count+1
  done

  echo "Average file size $(($sum_size/$count))"
}

get_avg_size ~/

Вот тебе вариант. До вменяемого состояния допиши сам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы