如何替换 GCP 云存储中文件名中的所有空格?
How to replace all white spaces in file names in GCP Cloud Storage?
我在 GCP 云存储上有一个存储桶,我想将文件名中带有白色 space 的所有文件重命名为白色 space 被连字符删除的名称(- ).
我试过
gsutil ls gs://<bucket>/<folder_with_the_files_to_rename>/ | sed 's/ /-/g/gsutil mv & /'
不幸的是,我无法使用 sed 命令来替换 whitespace,然后使用 gsutil mv 命令实际重命名文件。
有人可以帮助我吗?
如果你需要用-
替换你用gsutil ls gs://<bucket>/<folder_with_the_files_to_rename>/
得到的一些文件名中的任何space,你可以使用
gsutil ls gs://<bucket>/<folder_with_the_files_to_rename>/ | \
while read f; do
gsutil -m mv "$f" "${f// /-}";
done;
gsutil mv
command moves/renames 文件,而 ${f// /-}
是一种变量扩展语法,其中每个 space 替换为 -
(//
代表所有出现)。因此,这里不需要sed
。
我在 GCP 云存储上有一个存储桶,我想将文件名中带有白色 space 的所有文件重命名为白色 space 被连字符删除的名称(- ).
我试过
gsutil ls gs://<bucket>/<folder_with_the_files_to_rename>/ | sed 's/ /-/g/gsutil mv & /'
不幸的是,我无法使用 sed 命令来替换 whitespace,然后使用 gsutil mv 命令实际重命名文件。
有人可以帮助我吗?
如果你需要用-
替换你用gsutil ls gs://<bucket>/<folder_with_the_files_to_rename>/
得到的一些文件名中的任何space,你可以使用
gsutil ls gs://<bucket>/<folder_with_the_files_to_rename>/ | \
while read f; do
gsutil -m mv "$f" "${f// /-}";
done;
gsutil mv
command moves/renames 文件,而 ${f// /-}
是一种变量扩展语法,其中每个 space 替换为 -
(//
代表所有出现)。因此,这里不需要sed
。