簡體   English   中英

僅將某些文件移動到 GCP 並保留子文件夾

[英]Move only certain files to GCP and keep subfolder

我想將所有擴展名為“gz”的文件及其目錄“C:\GCPUupload\Additional”的文件夾/子文件夾移動到存儲桶“gs://BucketName/Additional/”中的文件夾。

我需要以這樣的方式保留文件夾結構:

C:\GCPUpload\Additional\Example1.gz             --> gs://BucketName/Additional/Example1.gz
C:\GCPUpload\Additional\Example2.gz             --> gs://BucketName/Additional/Example2.gz
C:\GCPUpload\Additional\ExampleNot.txt          --> (Ignore this file)
C:\GCPUpload\Additional\Subfolder2\Example3.gz  --> gs://BucketName/Additional/Subfolder2/Example3.gz
C:\GCPUpload\Additional\Subfolder2\Example4.gz  --> gs://BucketName/Additional/Subfolder2/Example4.gz

這是我目前使用的命令:

  call gsutil mv -r -c "C:\GCPUpload\Additional\**\*.gz" "gs://BucketName/Additional/"

我遇到的問題是所有文件都被移動到存儲桶的根目錄(即gs://BucketName/Additional/ ),並忽略其原始文件夾/子文件夾

我應該怎么寫這個? 我試過並用谷歌搜索,但找不到可行的方法。

謝謝!!

當您在 shell 中使用遞歸通配符 (**) 時,您看到的行為是由 gsutil 實現的,以匹配相應的(較舊的)行為。

要執行您想要的操作,您需要列出所有要移動的對象並創建一個 shell 腳本,該腳本單獨運行gsutil mv命令以將它們移動到您想要的目錄。 您可能可以使用本地編輯工具來簡化操作(例如awksed )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM