2013-09-24 44 views

回答

19

gsutil資料ls command的選項-l(長列表)和-R(遞歸上市)將遞歸地列出了整個水桶,然後產生的所有對象,文件和目錄的總數,在最後:

$ 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) 

如果你真的只是想總,你可以通過管道輸出到tail命令:

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

UPDATE

gsutil現在有一個du command。這使得它更容易獲得數:

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

很好,謝謝...只是慢了4個MIO文件利德爾位..在此操作1呼叫或算作鬥元素的號碼? ...可能會變得昂貴.. :-) – user2811846

+0

它在桶上做了一個對象列表,通過結果頁面,我認爲一次1000,所以它會進行N/1000次調用,其中N是對象的數量你有。這是每個定價頁面的A類操作。 – jterrace

+0

你好,剛剛登錄說感謝這有助於。我試圖使用查找,但沒有得到支持,所以當尋找替代方案時,你的答案絆倒了。它是一個很大的幫助。 –

0

你想gsutil ls -count -recursivegs://bucket/folder? 好的; gsutil ls gs://bucket/folder/**將只列出gs://bucket/folder下沒有頁腳或以冒號結尾的文件的完整路徑。管道到wc -l會給你結果的行數。

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

相關問題