2013-09-24 7 views
7

Kepçe klasörlerindeki dosya sayısını saymak için bir seçenek var mı?Gsutil ile bir kepçe klasöründe dosya sayısı nasıl sayılır

gibi:

gsutil ls -count -recursive gs://bucket/folder 

Result: 666 files 

Sadece dosyaların toplam sayısı benim sunucuda senkronizasyon-klasörüne miktarını karşılaştırmak istiyorum.

El kitabında bulamıyorum. seçenekler -l (uzun listeleme) ve -R (özyinelemeli listeleme) ile

cevap

19

gsutil ls command yinelemeli tüm kova listeler ve sonunda, tüm nesneler, dosya ve dizinleri hem toplam sayısı üretmek:

$ gsutil ls -lR gs://pub 
    104413 2011-04-03T20:58:02Z gs://pub/SomeOfTheTeam.jpg 
     172 2012-06-18T21:51:01Z gs://pub/cloud_storage_storage_schema_v0.json 
     1379 2012-06-18T21:51:01Z gs://pub/cloud_storage_usage_schema_v0.json 
    1767691 2013-09-18T07:57:42Z gs://pub/gsutil.tar.gz 
    2445111 2013-09-18T07:57:44Z gs://pub/gsutil.zip 
     1136 2012-07-19T16:01:05Z gs://pub/gsutil_2.0.ReleaseNotes.txt 
... <snipped> ... 

gs://pub/apt/pool/main/p/python-socksipy-branch/: 
    10372 2013-06-10T22:52:58Z gs://pub/apt/pool/main/p/python-socksipy-branch/python-socksipy-branch_1.01_all.deb 

gs://pub/shakespeare/: 
     84 2010-05-07T23:36:25Z gs://pub/shakespeare/rose.txt 
TOTAL: 144 objects, 102723169 bytes (97.96 MB) 

Eğer gerçekten sadece toplam istiyorsanız, yapabilirsiniz boru tail komuta çıkışı:

$ gsutil ls -lR gs://pub | tail -n 1 
TOTAL: 144 objects, 102723169 bytes (97.96 MB) 

GÜNCELLEME

gsutil şimdi du command'a sahiptir.

$ gsutil du gs://pub | wc -l 
232 
+0

Mükemmel, teşekkürler ... 4 milyon dosyalar için yavaş sadece Liddle biraz .. Bu Operasyon 1 Çağrı veya kova elemanlarının numaraları olarak sayılır mı? ... pahalı olabilir .. :-) – user2811846

+0

Bu bir kovada bir nesne listesi ve sonuçları aracılığıyla sayfaları yapar, bir seferde 1000 düşünüyorum, bu yüzden N/1000 çağrı yapacak, N nesnelerin sayısıdır var. Bu, fiyatlandırma sayfası başına bir A sınıfı işlemdir. – jterrace

+0

Merhaba, bu yardım için teşekkürler. Bulguyu kullanmaya çalışıyordum ama bu desteklenmiyordu, çünkü bir alternatif aradığınızda cevabınıza tökezledim. Çok yardımcı oldu. –

0

Sen gs://bucket/folder yılında gsutil ls -count -recursive istiyorum: Bu daha da kolay bir sayım sonucuna varmak için yapar? Tamam; gsutil ls gs://bucket/folder/**, gs://bucket/folder altındaki dosyaların tam URL'lerini altbilgi veya kolonda biten satırlar olmadan listeler. wc -l no'lu boru, sonucun satır sayısını verecektir.

gsutil ls gs://bucket/folder/** | wc -l