Portál AbcLinuxu, 5. června 2025 23:50


Dotaz: progress bar pro prikaz 'find'

16.2.2011 16:29 helikaon
progress bar pro prikaz 'find'
Přečteno: 172×
Odpovědět | Admin
Ahoj, chtel jsem se zeptat, nevedel by nekdo 'howto' jak udelat 'progress bar' (====== ...) pri pouziti prikazu 'find'?

Mam velky filesystem, kde pri hledani specifickych souboru muze hledani trvat i nekolik hodin. Zviditelneni toho jak dalece hledani postoupilo by mi umoznilo lepe planovat (treba obed) :-).

Presahuje to me zacatecnicke skripterske schopnosti v shellu ...

Moc dekuji za pripadne odpovedi.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.2.2011 16:41 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: progress bar pro prikaz 'find'
Odpovědět | | Sbalit | Link | Blokovat | Admin
To byste ale nejprve musel vědět, kolik souborů a adresářů bude find prohledávat. Abyste to mohl zjistit, pustil byste nejdřív find
16.2.2011 16:45 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: progress bar pro prikaz 'find'
Odpovědět | | Sbalit | Link | Blokovat | Admin
Aby find věděl, kolik mu toho ještě zbývá projít, musel by si to dopředu všechno projít a to už může rovnou hledat :)

Můžeš udělat skript, který bude spouštět find až na podadresáře a můžeš vypisovat, na kterém je momentálně spuštěn. Nebo můžeš jít do dvou úrovní.

Ale pokud máš většinu souborů někde hluboko v jednom z adresářů (což tak bývá, data nebývají rozprostřena rovnoměrně), stejně bude takový ukazatel k ničemu.
16.2.2011 16:56 l4m4
Rozbalit Rozbalit vše Re: progress bar pro prikaz 'find'
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prohledáváš-li celý filesystém, tak stat -f umožňuje zjistit počet inodů, což je plus minus počet věcí, které find bude prohledávat.

Ale k implementaci progressbaru potřebuješ nějaký s rozumnou frekvencí se aktualizující údaj, kolik toho už find prošel, což by asi znamenalo modifikovat find...

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.