2013-09-24 35 views
7

Có tùy chọn để đếm số lượng tệp trong thư mục nhóm không?Cách đếm số lượng tệp trong thư mục nhóm với gsutil

Giống như:

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

Result: 666 files 

Tôi chỉ muốn có một tổng số tập tin để so sánh số lượng để đồng bộ hóa thư mục trên máy chủ của tôi.

Tôi không nhận được nó trong sách hướng dẫn.

Trả lời

19

Các gsutil ls command với các tùy chọn -l (danh sách dài) và -R (danh sách đệ quy) sẽ liệt kê toàn bộ xô đệ quy và sau đó tạo ra một tổng số của tất cả các đối tượng, cả hai tập tin và thư mục, ở cuối:

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

Nếu bạn thực sự chỉ muốn tổng số, bạn có thể đường ống đầu ra cho tail lệnh:

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

CẬP NHẬT

gsutil hiện có du command. Điều này giúp bạn dễ dàng nhận được số lượng:

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

Tuyệt vời, cảm ơn ... chỉ là một chút Liddle chậm trong 4 mio file .. Đây có phải là hoạt động 1 cuộc gọi hoặc tính là số lượng các yếu tố xô? ... có thể trở nên đắt tiền .. :-) – user2811846

+0

Nó liệt kê một đối tượng trên thùng, và các trang thông qua kết quả, tôi nghĩ 1000 tại một thời điểm, vì vậy nó sẽ thực hiện N/1000 cuộc gọi, trong đó N là số đối tượng bạn có. Đây là hoạt động loại A trên trang đặt giá. – jterrace

+0

Xin chào chỉ cần đăng nhập để nói cảm ơn điều này đã giúp. Tôi đã cố gắng để sử dụng tìm thấy nhưng điều đó không được hỗ trợ vì vậy khi tìm kiếm một thay thế stumbled khi câu trả lời của bạn. Đó là một sự trợ giúp tuyệt vời. –

0

Bạn muốn gsutil ls -count -recursive trong gs://bucket/folder? Được rồi; gsutil ls gs://bucket/folder/** sẽ liệt kê các url đầy đủ của đường dẫn đến tệp dưới gs://bucket/folder không có chân trang hoặc các dòng kết thúc bằng dấu hai chấm. Đường ống đến số wc -l sẽ cho bạn kết quả đếm.

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

Các vấn đề liên quan