Klasördeki ve alt klasörlerdeki dosyaların sayısını buldunuz mu?

111

Bir klasörün ve tüm alt klasörlerinin altındaki dosyaların sayısının toplam sayısını bulmak istiyorum.

    
sordu topless 08.04.2011 13:55

9 cevap

177

Bir şey gibi olabilir

find . -type f | wc -l

hile yapardı. Komutu ana klasörden deneyin.

    
verilen cevap sagarchalise 08.04.2011 14:06
22

tree komutunu kullanın. % Co_de% paketini yüklemeniz gerekebilir.

Verilen klasör altındaki tüm dosya ve klasörleri listeler ve sonunda bir özet listeler.

    
verilen cevap Egil 08.04.2011 14:09
10

Geçerli dizinin kök dizinindeki dosyaları (uzantısız dosyalar bile) saymak için şunu kullanın:

ls -l | grep ^- | wc -l

Geçerli dizinin kökünden dosyaları (uzantı olmayan dosyalar bile) yinelemeli saymak için şunu kullanın:

ls -lR | grep ^- | wc -l
    
verilen cevap user38537 12.11.2013 21:39
9

En hızlı ve en kolay yol, tree kullanmaktır. Hızı, çıkış terminaliniz tarafından sınırlandırılmıştır, bu yüzden sonucu tail -1 değerine aktarırsanız hemen sonuç alırsınız. Ayrıca, -L seçeneğini kullanarak sonuçları beğendiğiniz dizin düzeyini de kontrol edebilirsiniz. Renklendirilmiş çıktı için -C kullanın. Örneğin:

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

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

Henüz yoksa, buradan alabilirsiniz.

    
verilen cevap not2qubit 15.01.2014 14:20
4
find -type f -printf . | wc -c

Bulunan çıktı satırlarını saymazsınız, çünkü 99 yeni satır içeren dosya adları 100 dosya olarak sayılır.

    
verilen cevap user unknown 08.04.2011 16:21
2

Yoldaki her klasör için bu komutu kullanın

for D in *; do echo $D; find $D -type f| wc -l; done
    
verilen cevap Sriram Murali 20.03.2014 19:02
1

bulmak ağacından daha hızlı görünüyor, bu yüzden dizinlerin boşluklara sahip olmasına izin vererek, şu anki çalışma dizininin her bir dizinindeki dosyaları (CWD'deki dosyaları göz ardı ederek) saymak için aşağıdayım:

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

    
verilen cevap Mike Bounds 21.07.2016 11:47
0

find . | wc -l

kullanabilirsin

find . , geçerli klasörünüzden başlayarak tüm dosya ve klasörleri ve içeriği listeleyecektir.% wc -l , bulmanın sonucunu sayar

    
verilen cevap david 08.04.2011 14:06
0

Bu seçenekle kendim giderim:

  

ls -alR | grep -c ^ -

    
verilen cevap Charles 29.05.2016 08:55

Etiketlerdeki diğer soruları oku