[英]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
命令以將它們移動到您想要的目錄。 您可能可以使用本地編輯工具來簡化操作(例如awk
或sed
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.