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