作者:手机用户2502895961 | 来源:互联网 | 2023-05-31 18:26
我在 GCP 云存储上有一个存储桶,我想将所有文件名中有空格的文件重命名为用连字符 (-) 删除空格的名称。我试过类似的东西gsutil ls gs://// | sed 's/ /-/g/gsuti
我在 GCP 云存储上有一个存储桶,我想将所有文件名中有空格的文件重命名为用连字符 (-) 删除空格的名称。
我试过类似的东西
gsutil ls gs://// | sed 's/ /-/g/gsutil mv & 1/'
不幸的是,我无法让 sed 命令工作来替换空格,然后使用 gsutil mv 命令实际重命名文件。
有人能帮我吗?
回答
如果您需要用-
您获得的某些文件名替换任何空格gsutil ls gs:////
,您可以使用
gsutil ls gs://// |
while read f; do
gsutil -m mv "$f" "${f// /-}";
done;
gsutil mv
命令移动/重命名文件,并且${f// /-}
是一种变量扩展语法,其中每个空格都被替换为-
(//
代表所有出现的)。因此,您不需要sed
这里。