Nejrychlejší způsob, jak získat počet souborů v adresáři, je získat hodnotu kMDItemFSNodeCount
daného adresáře atribut metadat.
mdls -name kMDItemFSNodeCount directory_name -raw|xargs
Výše uvedený příkaz má hlavní výhodu více než find . -type f | wc -l
v tom, že vrací počet téměř okamžitě, dokonce i pro adresáře, které obsahují miliony souborů.
Upozorňujeme, že příkaz získá počet souborů, nikoli pouze běžné soubory.
Nechápu, proč lidé používají 'najít', protože pro mě je mnohem jednodušší zadat 'ls' takto:
ls *.png | wc -l
zjistit počet obrázků png v aktuálním adresáři.
Zdá se, že máte správný nápad. Použil bych -type f
najít pouze soubory:
$ find some_directory -type f | wc -l
Pokud chcete pouze soubory přímo v tomto adresáři a ne prohledávat rekurzivně v podadresářích, můžete přidat -maxdepth
příznak:
$ find some_directory -maxdepth 1 -type f | wc -l
Otevřete terminál a přepněte se do umístění adresáře.
Zadejte:
find . -type f | wc -l
Toto prohledává v aktuálním adresáři (to je to, co znamená .) všechny soubory a počítá je.