Blog

Bash - pojemność katalogu z filtrem na pliki

Bash - pojemność katalogu z filtrem na pliki

Zawartość skryptu. Skrypt posiada 2 zmienne. Zmienna $folder to obliczany folder. Zmienna $ext to rozszerzenie plików, które będą zliczane. Skrypt oblicza pojemność katalogu rekursywnie i ogranicza się tylko do plików jpg  

#!/bin/bash
folder='/home/user/Obrazy'
ext='.jpg'

foldersize() {
    if [ -d $folder ]; then
        size=$(ls -alRF $folder/ | grep -i $ext | awk 'BEGIN {tot=0} { tot=tot+$5 } END { print tot }')
        countsize=${#size}
        echo "Znaków: $countsize"
        echo "Podliczanie plików $ext"
        if [ $countsize -lt 4 ];then
         echo -n "Zajętość katalogu `realpath $folder`"
         echo "${size}B"
        elif [ $countsize -ge 4 ] && [ $countsize -lt 7 ];then
         echo -n "Zajętość katalogu `realpath $folder` w KB: "
         echo "scale=2;$size/1024" |bc -l
        elif [ $countsize -ge 7 ] && [ $countsize -le 9 ];then
         echo -n "Zajętość katalogu `realpath $folder` w MB: "
         echo "scale=2;$size/1024/1024" |bc -l
        else
         echo -n "Zajętość katalogu `realpath $folder` w GB: "
         echo "scale=2;$size/1024/1024/1024" |bc -l
        fi
    else
        echo "$folder: folder does not exist"
    fi
}

foldersize

<< Wróć do poprzedniej strony