Bau.

        du --max-depth=1 /home > a.txt;  du --max-depth=1 /home -h >
                b.txt; join -1 2 -2 2  a.txt b.txt | sort -k2 -rn |
                awk '{print $3 " " $1}'

vs

        du -smh /home

A doua comanda nu-i exact ce se cerea in enuntul initial al problemei - sortarea ce-i drept lipseste din enuntul initial, da' apare in comanda lunga.

In a doua comanda cre' ca -k2 nu-i o idee buna, cel putin din ce-am reusit eu sa citesc despre sort.

Am incercat si eu ceva de gen, prima parte seamana:

        du --max-depth=1 /home > a.txt
        du --max-depth=1 -h /home > b.txt
        join -1 2 -2 2  a.txt b.txt > c.txt
        awk '{print $2 " " $3 " " $1}' c.txt > d.txt
        sort -rn d.txt > e.txt
        awk '{print $2 " " $3}' e.txt

Cre' ca asta abia genereaza ce trebuie. Daca se pipe-uie tot, mai putin partea initiala, si la partea initiala se face o smecherie pt. generarea de nume de fisiere random, si se mai si sterg pe urma fisierele, cre' ca e totul OK.

Am gasit o smecherie pt. nume de fisier random: $RANDOM. Stergerea e triviala. Asa ca complet ar arata asa:

        #!/bin/bash
        a=$RANDOM
        b=$RANDOM
        echo "a is ${a} and b is ${b}"
        du --max-depth=1 $1 > ~/${a}.txt
        du --max-depth=1 -h $1 > ~/${b}.txt
join -1 2 -2 2 ~/${a}.txt ~/${b}.txt | awk '{print $2 " " $3 " " $1}' | sort -rn | awk '{print $2 " " $3}'
        rm -f ~/${a}.txt
        rm -f ~/${b}.txt

Ideea cu ~/ e ca home-ul fiecarui user ar trebui sa fie writable oricum, pe cand directorul in care se lanseaza comanda nu musai.

Stima,

--
Florin Jurcovici
------------------
Why do psychics have to ask you for your name?

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

Raspunde prin e-mail lui