#/bin/sh ######################################################### # Obtenir sur stdout la taille de l'arborescence courante # Elucubre le 17/11/2002 # Modif du 26/02/2006-22/06/2006 # Modif du 13/10/2016 correction traitement ls -Rl # ######################################################### REP=$1 echo $REP | awk ' BEGIN {} { printf "%-20.20s => Dirs : ", $1 } END {} ' ls -Rl $REP 2>/dev/null | grep ^[-d] | awk ' BEGIN { FS = " " fichiers = 0 repertoires = 0 gros_size = 0 gros_name = "" } { if ( index ( $0, "-" ) == 1 ) { fichiers ++ s = s + $5 if ( gros_size < $5 ) { gros_size = $5 gros_name = $9 $10 $11 $12 } } if ( index ( $0, "d" ) == 1 ) { repertoires ++} } END { printf "%5d Files : %6d", repertoires, fichiers MEG=1024*1024 GIG=MEG*1024 if ( s>GIG ) { s=s/GIG unit="Go ** <=="} if ( s>MEG ) { s=s/MEG unit="Mo"} if ( s>1000 ) { s=s/1000 unit="ko"} printf " Size = %7.3g %2s -", s, unit printf "\n\tNom = %-10s \t Taille = %12d", gros_name, gros_size }' echo ""