Retourner au contenu associé (entrée de forum : Traquer le mangeur de disque)
Posté par tgl le 14 juillet 2004 à 14:54. En réponse au message Traquer le mangeur de disque. Évalué à 4.
#------------ prettysize: format a bytes count -------- prettysize() { local suffix div result if [ 1ドル -lt 1024 ]; then div=1 ; suffix="B " elif [ 1ドル -lt 1048576 ]; then div=1024 ; suffix="KB" elif [ 1ドル -lt 1073741824 ]; then div=1048576 ; suffix="MB" else div=1073741824 ; suffix="GB" fi result=$(echo -e "scale=1 \n1ドル/$div \nquit" | bc) result="${result} ${suffix}" while [ ${#result} -lt 9 ] ; do result=" ${result}" done echo "${result}" } #-------- sdu: sorted "du -sh" -------- sdu () { local dir dirsize subpath local totalsize=0 if [ "$#" == "0" ]; then dir='./' else dir="${1%/}/" fi du -sb "$dir"* | sort -n | \ { read dirsize subpath while [ -n "$subpath" ] ; do echo " $(prettysize $dirsize) ${subpath}" let "totalsize += dirsize" read dirsize subpath done local total="$(prettysize $totalsize) ${dir}" echo "-${total//?/-}-" echo " ${total}" } }
% sdu /usr 9 B /usr/doc 9 B /usr/man 10 B /usr/info 10 B /usr/tmp 1009.3 KB /usr/local 2.8 MB /usr/i686-pc-linux-gnu 3.9 MB /usr/libexec 15.4 MB /usr/sbin 21.4 MB /usr/games 25.6 MB /usr/qt 44.6 MB /usr/kde 71.4 MB /usr/X11R6 72.7 MB /usr/include 294.7 MB /usr/bin 1.0 GB /usr/src 1.3 GB /usr/lib 2.1 GB /usr/share ------------------- 5.0 GB /usr/
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# bash
Posté par tgl . En réponse au message Traquer le mangeur de disque. Évalué à 4.
#------------ prettysize: format a bytes count -------- prettysize() { local suffix div result if [ 1ドル -lt 1024 ]; then div=1 ; suffix="B " elif [ 1ドル -lt 1048576 ]; then div=1024 ; suffix="KB" elif [ 1ドル -lt 1073741824 ]; then div=1048576 ; suffix="MB" else div=1073741824 ; suffix="GB" fi result=$(echo -e "scale=1 \n1ドル/$div \nquit" | bc) result="${result} ${suffix}" while [ ${#result} -lt 9 ] ; do result=" ${result}" done echo "${result}" } #-------- sdu: sorted "du -sh" -------- sdu () { local dir dirsize subpath local totalsize=0 if [ "$#" == "0" ]; then dir='./' else dir="${1%/}/" fi du -sb "$dir"* | sort -n | \ { read dirsize subpath while [ -n "$subpath" ] ; do echo " $(prettysize $dirsize) ${subpath}" let "totalsize += dirsize" read dirsize subpath done local total="$(prettysize $totalsize) ${dir}" echo "-${total//?/-}-" echo " ${total}" } }Ce qui me permet d'aller à la pêche au gros comme ça :