Portál AbcLinuxu, 12. května 2025 09:30

Dotaz: zjisteni velikosti "virtualniho" adresare

3.8.2009 20:50 chinook | skóre: 28
zjisteni velikosti "virtualniho" adresare
Přečteno: 258×
Odpovědět | Admin
Resim problem. Mam adresar
/vmail/user1
/vmail/user2
atd.
ja potrebuju najit soubory co jsou starsi nez dejme tomu rok 2007. Ale jako vysledek bych chtel mit jen velikost slozky /vmail/user1/. Do velikosti by se zapocitaly jen soubory starsiho data. Takze bych chtel vypis:
1GB /vmail/user1
0.9GB /vmail/user2
atd.
kde do velikosti adresare by byly prave zapocitany jen ty starsi soubory. Adresar muze mit nekolik podadresaru. Resim to pres find, ale v podstate se mne podarilo jen ty soubory vypsat :(
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.8.2009 00:11 Ash | skóre: 53
Rozbalit Rozbalit vše Re: zjisteni velikosti "virtualniho" adresare
Odpovědět | | Sbalit | Link | Blokovat | Admin
Díky za zajímavý dotaz, deset minut po půlnoci mne napadá jen něco jako:

( find ... -printf "%k + " ; echo 0 ) | bc

:)
4.8.2009 00:39 chinook | skóre: 28
Rozbalit Rozbalit vše Re: zjisteni velikosti "virtualniho" adresare
Bohuzel nechapu, jak by to melo fungovat. Muzes me jeste nejak vic nakopnout?
4.8.2009 11:36 Ash | skóre: 53
Rozbalit Rozbalit vše Re: zjisteni velikosti "virtualniho" adresare
Nalezne to soubory dle tvých kritérií (říkáš že najít je už umíš, takže předpokládám že umíš parametry findu určijící minimální stáří souboru a podobně). Od každého tohoto souboru vypíše jeho velikost a znaménko +, čímž např. pro soubory file1, file2 a file3 o velikostech 100 B, 200 B, 5 B vznikne řetězec 100 + 200 + 5 +. Toto je skoro matematický výraz, který lze předhodit nějaké kalkulačce, akorát pro úplnou správnost je potřeba buď smazat poslední + nebo za plus ještě doplnit nějaké neutrální číslo (u sčítání nula). Takže přidám echo 0, čímž vznikne výraz 100 + 200 + 5 + 0 a tento výraz nechám zpracovat kalkulačkou bc, výsledkem je součet velikostí všech souborů nalezených findem.
4.8.2009 11:39 Ash | skóre: 53
Rozbalit Rozbalit vše Re: zjisteni velikosti "virtualniho" adresare
Za ty tři tečky u find samozřejmě musíš doplnit ten požadovaný adresář a ty své požadavky na stáří souborů jakožto parametry findu. Zpracování adresářů více uživatelů a přesný formát výpisu dle tvých kritérií jsem neřešil, byl to jen takový hint.
4.8.2009 15:45 poko | skóre: 9
Rozbalit Rozbalit vše Re: zjisteni velikosti "virtualniho" adresare
Odpovědět | | Sbalit | Link | Blokovat | Admin

find tvoj_find_expression | xargs du -ch | grep total | awk '{ print $1}'

urcite to nie je presne to co chces ale tadialto by mohla viest cesta ;)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.