A fájlok száma a mappában és a almappában?

114

Szeretném megtalálni a fájlok számát a mappában és összes almappájában.

    
készlet topless 08.04.2011 13:55
forrás

9 válasz

182

Lehet, hogy valami hasonló

find . -type f | wc -l

csinálná a trükket. Próbálja ki a parancsot a szülõmappából.

    
válasz adott sagarchalise 08.04.2011 14:06
forrás
22

Használja atree parancsot. Lehet, hogy telepítenie kell atree csomagot.

A megadott mappában lévő összes fájlt és mappát felsorolja, és összefoglalja az összefoglalót a végén.

    
válasz adott Egil 08.04.2011 14:09
forrás
10

A jelenlegi könyvtár gyökerének (akár kiterjesztés nélküli fájlok) számozásához:

ls -l | grep ^- | wc -l

Az aktuális könyvtár gyökeréből rekurzívan fájlok (akár kiterjesztés nélküli fájlok) számozása:

ls -lR | grep ^- | wc -l
    
válasz adott user38537 12.11.2013 21:39
forrás
9

A leggyorsabb és legegyszerűbb mód atree használata. A sebességét a kimeneti terminál korlátozza, ezért ha az eredményttail -1 -ra dobja, azonnali eredményt kap. A-L opció használatával ellenőrizheti, hogy melyik könyvtárszintet szereted az eredményeknek. Színes kimenet esetén használja a-C értéket. Például:

$ tree share/some/directory/ | tail -1
558 directories, 853 files

$ tree -L 2 share/some/directory/ | tail -1
120 directories, 3 files

Ha még nem létezik, itt érheti el.

    
válasz adott not2qubit 15.01.2014 14:20
forrás
4
find -type f -printf . | wc -c

Ne számold meg a találatok kimeneti vonalát, mert a 99 újvonalat tartalmazó fájlnevek 100 fájlnak számítanak.

    
válasz adott user unknown 08.04.2011 16:21
forrás
2

Használja ezt a parancsot az útvonal minden egyes mappájához

for D in *; do echo $D; find $D -type f| wc -l; done
    
válasz adott Sriram Murali 20.03.2014 19:02
forrás
1

Find úgy tűnik, hogy gyorsabb, mint a fa, így alul használt számlálni fájlok minden könyvtárában az aktuális munkakönyvtár (figyelmen kívül hagyva a fájlok CWD) lehetővé teszi a könyvtárakat szóközök:

ls -d */ | while read dir_line do echo -n "$dir_line :" find "$dir_line" -type f | wc -l done

    
válasz adott Mike Bounds 21.07.2016 11:47
forrás
0

Magam is ezt a lehetőséget választanám:

  

ls -alR grep -c ^ -

    
válasz adott Charles 29.05.2016 08:55
forrás
-1

Afind . | wc -l

kifejezést használhatja

Afind . felsorolja az aktuális mappában levő összes fájlt és mappát és a tartalom tartalmát.
wc -l számolja a találatok eredményeit

    
válasz adott david 08.04.2011 14:06
forrás