google gsutil 将 ls 限制到给定的深度级别
google gsutil limit ls to a given depth level
我需要弄清楚存储桶上有哪些子文件夹,以便决定要同步的路径。
ls -r gs://<my_bucket>/**
returns 所有文件和文件夹,我的树深度 >10 那里!!
如何只获取文件夹和子文件夹的列表,直到最终深度为 3,与 find -maxdepth
参数一样?
提前致谢
根据 documentation 没有提到这样的命令来列出 folders/subfolders 在 gsutil 中使用最大深度。
要获得 top level objects of a bucket using node.js,可以通过 API 完成,如前所述:
`const [files, nextQuery, apiResponse] = await storage.bucket(bucketName).getFiles({autoPaginate: false, delimiter: "/", prefix: ""});`
有关更多信息,您可以参考 link and github case,其中讨论了类似的问题。
This command is mentioned as a trick :
gsutil ls -l gs://bucket_name/folder_name | xargs -I{} gsutil du -sh {}
There's no --max-depth support in gsutil du. You could write a script that lists the first-level folder names, and then iterate over those folders and run gsutil ls -l $folder/*
我需要弄清楚存储桶上有哪些子文件夹,以便决定要同步的路径。
ls -r gs://<my_bucket>/**
returns 所有文件和文件夹,我的树深度 >10 那里!!
如何只获取文件夹和子文件夹的列表,直到最终深度为 3,与 find -maxdepth
参数一样?
提前致谢
根据 documentation 没有提到这样的命令来列出 folders/subfolders 在 gsutil 中使用最大深度。
要获得 top level objects of a bucket using node.js,可以通过 API 完成,如前所述:
`const [files, nextQuery, apiResponse] = await storage.bucket(bucketName).getFiles({autoPaginate: false, delimiter: "/", prefix: ""});`
有关更多信息,您可以参考 link and github case,其中讨论了类似的问题。
This command is mentioned as a trick :
gsutil ls -l gs://bucket_name/folder_name | xargs -I{} gsutil du -sh {}
There's no --max-depth support in gsutil du. You could write a script that lists the first-level folder names, and then iterate over those folders and run
gsutil ls -l $folder/*