バケットフォルダ内のファイル数をカウントするオプションはありますか?
お気に入り:
gsutil ls -count -recursive gs://bucket/folder
Result: 666 files
合計ファイル数をサーバー上の同期フォルダーと比較するだけです。
説明書には載っていません。
Gsutil lsコマンド オプション付き-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)
[〜#〜]更新[〜#〜]
gsutilに duコマンド が追加されました。これにより、カウントがさらに簡単になります。
$ gsutil du gs://pub | wc -l
232
gsutil ls -count -recursive
でgs://bucket/folder
したいですか?よし、 gsutil ls gs://bucket/folder/**
は、フッターやコロンで終わる行なしで、gs://bucket/folder
の下のファイルへのパスの完全なURLのみをリストします。これをwc -l
にパイプすると、結果の行数がわかります。
gsutil ls gs://bucket/folder/** | wc -l
gsutil ls -lR gs://Floder1/Folder2/Folder3/** |tail -n 1