|
bash - skrypt wyszukujący określone katalogi
lincoln1 - 19-01-2010 22:46
Witam. Piszę prosty skrypt w bashu i napotkałem mały problem. Mianowicie: Chcę skrypt wyszukujący podkatalogi pierwszego poziomu zagłębienia, danego wcześniej katalogu, obliczenie ile zajmują miejsca (w kilobajtach) i posortowanie ich według wielkości. Napisałem kawałek kodu odpowiedzialnego za to lecz nie działa tak jak ma działać. Każdy człon jest poprawny, lecz w całości nie pracuje.
W bashu to mój pierwszy skrypt. Proszę o naprowadzenie mnie na błąd.
find $wybor -type d -maxdepth 1 | du -S -c -k | sort -g;
lessmian2 - 19-01-2010 23:14
lecz nie działa tak jak ma działać
A jak ma działać? Bo u mnie jak najbardziej działa (po przestawieniu opcji maxdepth na początek nawet nie wyrzuca ostrzeżenia) - wyświetla katalogi według zajętego miejsca od najmniejszego do największego.
Edycja Rzeczywiście, jest babol. Przepraszam, moja pomyłka.
lincoln1 - 19-01-2010 23:20
Mnie wyświetla mino -maxdepth1 katalogi o większym zagłębieniu i pliki.
lessmian2 - 19-01-2010 23:34
Pewnie można łatwiej, ładniej, lepiej itp. ale idę zaraz spać i nie chce mi się już myśleć :->
for i in `find . -maxdepth 1 -type d`;do du -Sck $i | grep razem | awk -v v=$i '{print $1 "\t"v}';done | sort -g
Edycja: Tak na marginesie to temat raczej do działu programowanie ;-)
rgl - 20-01-2010 11:05
A dlaczego użyłeś
du -Sck katalog
Jeśli chcesz poznać ilość zajętego przez dany katalog miejsca nie powinno być raczej
du -sk katalog
? Wtedy: find $wybor -maxdepth 1 -type d -exec du -sk \{\} \; |sort -g
lessmian2 - 20-01-2010 11:33
Masz rację. Zasugerowałem się opcjami podanymi przez lincoln1.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|