亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 gsutil 刪除 gcs 中除 1 之外的多個文件

如何使用 gsutil 刪除 gcs 中除 1 之外的多個文件

慕神8447489 2023-12-12 15:46:08
我目前有這個:gsutil ls gs://basty/*_TZ001.*gs://basty/20201007_TZ001.csv gs://basty/20201008_TZ001.csv gs://basty/20201009_TZ001.csv我的問題是我有很多文件,我想刪除除 1 ( 20201009_TZ001.csv)之外的所有文件我認為使用 bash 或 python 我不知道。
查看完整描述

3 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

您可以使用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: " {}


查看完整回答
反對 回復 2023-12-12
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

我有另一個解決方案。這是基于臨時保留的。我建議您在存儲桶內創建一個新文件夾。然后,向此添加一個臨時保留,如下所示:

gsutil?-m??retention?temp?set?gs://BUCKETNAME/FOLDER/

然后,將您不想刪除的所有文件添加到此文件夾中。

執行命令:

gsutil?rm?gs://BUCKET/*

您將看到如何跳過FOLDER刪除所有文件。

最后,取消保留:

gsutil?-m??retention?temp?release??gs://BUCKETNAME/FOLDER/


查看完整回答
反對 回復 2023-12-12
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

還有一種解決方案

gsutil ls -r gs://basty/*_TZ001.* | grep -v 20201009_TZ001.csv | gsutil -m rm -I
  • 它工作得非???,因為它同時刪除文件而不是一個一個地刪除(命令中的 -m 選項)

  • 它不使用使整個操作變慢的保持

  • gs://basty/*_TZ001.*如果您替換為,它適用于存儲桶文件結構中任何級別的文件gs://basty/**


查看完整回答
反對 回復 2023-12-12
  • 3 回答
  • 0 關注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號