On Jan 7, 2008 1:28 PM, Ratiu Petru <[EMAIL PROTECTED]> wrote:
> On Jan 7, 2008 1:19 PM, Mocanu Petrut <[EMAIL PROTECTED]> wrote:
> > Doresc o comanda care sa imi arate spatiul ocupat pe disk de toate
> > subdirectoarele de nivel 1 sortata in "human readable format" . Preferabil
> > sa fie o singura linie de comanda pe care eventual sa o memorez
> > (protabilitate ..)
>
>
> du -sm * | sort -n | <ceva care sa rescrie mega in M,G,T>
>
Pt. fanii bash:
-------------cut here----------
#!/bin/bash

## scuze daca e urat, e facut in graba :)


if [ ! -d "$1" ]
then
  echo "$1: no such directory"
  exit 1
fi

shopt -s dotglob
du -sb $1/* | sort -rn | while read size filename; do
  if [ $size -lt $[2**10] ]
  then
    pretty=${size}B
  fi

  if [ $size -gt $[2**10] ] && [ $size -lt $[2**20] ]
  then
    pretty=$[${size}/$[2**10]]K
  fi

  if [ $size -gt $[2**20] ] && [ $size -lt $[2**30] ]
  then
    pretty=$[${size}/$[2**20]]M
  fi

  if [ $size -gt $[2**30] ] && [ $size -lt $[2**40] ]
  then
    pretty=$[${size}/$[2**30]]G
  fi

  if [ $size -gt $[2**40] ]
  then
    pretty=$[${size}/$[2**40]]T
  fi

  echo "$pretty $filename"

done

-------------and here----------

Pt. cine stie un picut de perl, modulul Number::Bytes::Human e mult
mai capabil decat oribilitatea mea de mai sus, cu virgule samd. Sigur
si python stie ceva similar.

Nota: valorile afisate sunt nitel diferite decat cele de la du -sh,
are cineva idee de ce? (La ceva de aproape 1G imi arata cu 2M mai
putin)

In orice caz, nu merita sa te chinui sa faci un oneliner foarte
alambicat pt. o chestie pe care intentionezi sa o refolosesti.

My 2c,
-- 
Petre.

_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui