如何更改 GCP 云存储中多个文件的扩展名?
例如,在以下目录中:
gs://[bucket-name]/filesdirectory/
我想将扩展名为.ipynb的文件更改为.py。
如何更改 GCP 云存储中多个文件的扩展名?
例如,在以下目录中:
gs://[bucket-name]/filesdirectory/
我想将扩展名为.ipynb的文件更改为.py。
您可以使用gsutil来完成此操作,您可以将其安装在本地计算机上或直接从云 shell 中使用。
gsutil 使用的命令与 linux CLI 非常相似,您可以使用 gsutil mv 命令来实现此目的,但由于您不能在此处使用通配符,因此您必须使用类似以下的内容:
IFS=$'\n'
gsutil ls gs://your-bucket/*.ipynb| while read x; do gsutil mv $x $(echo $x | sed "s/.ipynb/.py/g"); done
我不是 shell 专家,所以可能这可以改进,但这里有一个解释:
这就像完全“重写”文件,因为 gcs 对象是不可变的,因此您可能应该记住一些注意事项,尽管这可能不是您的情况:
希望这可以帮助 :)
如文档中所述,您可以使用控制台、GSutil 命令、代码或 REST APIS 重命名 GCS 存储桶中的文件。
您应该使用的 Gsutil 命令如下:
gsutil mv gs://[BUCKET_NAME]/[OLD_OBJECT_NAME] gs://[BUCKET_NAME]/[NEW_OBJECT_NAME]
此外,如果您想更改多个文件,我建议您使用脚本来为您需要更改的每个文件执行此操作。