Python 如何使用gsutil删除gcs中除1以外的多个文件
我现在有:Python 如何使用gsutil删除gcs中除1以外的多个文件,python,bash,google-cloud-platform,google-cloud-storage,gsutil,Python,Bash,Google Cloud Platform,Google Cloud Storage,Gsutil,我现在有:gsutil ls gs://basty/*\u TZ001.* gs://basty/20201007_TZ001.csv gs://basty/20201008_TZ001.csv gs://basty/20201009_TZ001.csv 我的问题是,我有一个bcuket,其中有许多文件我想删除除1以外的所有文件(20201009\u TZ001.csv) 我认为使用bash或python我不知道。您可以使用grep(使用-v标志反转结果)过滤结果,并使用xargs gsuti
gsutil ls gs://basty/*\u TZ001.*
gs://basty/20201007_TZ001.csv
gs://basty/20201008_TZ001.csv
gs://basty/20201009_TZ001.csv
我的问题是,我有一个bcuket,其中有许多文件我想删除除1以外的所有文件(20201009\u TZ001.csv
)
我认为使用bash或python我不知道。您可以使用grep(使用-v标志反转结果)过滤结果,并使用xargs
gsutil ls gs://basty/*_TZ001.* |\
grep -v 20201009_TZ001.csv |\
xargs -i{} gsutil rm {}
为了确保这正是您想要的,您可以首先执行一个干运行命令:
gsutil ls gs://basty/*_TZ001.* |\
grep -v 20201009_TZ001.csv |\
xargs -i{} echo "Will delete: " {}
我有另一个解决办法。这个是基于。我建议您在bucket中创建一个新文件夹。然后,在该项中添加一个临时保留,如下所示:
gsutil-m保留临时设置gs://BUCKETNAME/FOLDER/
然后,将所有不想删除的文件添加到此文件夹中
执行以下命令:
gsutil rm gs://BUCKET/*
您将看到如何跳过文件夹删除所有文件
最后,移除保持:
gsutil-m保留临时版本gs://BUCKETNAME/FOLDER/
在测试MacOS时,我在MacOS上得到了非法选项--I。如果标志更改为-I